MySQL 32文字
Oracle 128文字
PostgreSQL 63文字
SQL Server 128文字
(8.0.31)
https://dev.mysql.com/doc/refman/8.0/ja/user-names.html
MySQL ユーザー名の長さは最大 32 文字です。 オペレーティングシステムのユーザー名の最大長が異なる場合があります。
create user 'user1234567890123456789012345678'@'%' identified by 'password';
create user 'user12345678901234567890123456789'@'%' identified by 'password';
→
ERROR 1470 (HY000): String 'user12345678901234567890123456789' is too long for user name (should be no longer than 32)
(19c)
最大128文字
create user user1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 identified by password;
create user user12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345 identified by password;
→
ORA-00972: 識別子が長すぎます。
(15)
https://www.postgresql.jp/document/14/html/limits.html
実機確認したところ、最大63文字
識別子の長さの上限が63バイトのためと思われる
create user user1234567890 with login encrypted password 'password';
create user user123456789012345678901234567890123456789012345678901234567890 with login encrypted password 'password';
→
NOTICE: identifier "user123456789012345678901234567890123456789012345678901234567890" will be truncated to "user12345678901234567890123456789012345678901234567890123456789"
最大128文字
create login user1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 with password='password', default_database=test, check_policy=off
create login user12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345 with password='password', default_database=test, check_policy=off
→
メッセージ 103、レベル 15、状態 4、行 1
'user1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234' で始まる 識別子 は長すぎます。最大長は 128 です。