データベースサーバがWindowsの場合には、データベース名およびユーザー名には、マルチバイト文字を用いないでください。
データベースサーバがWindows以外の場合であっても、注意すべき点や接続できないクライアントがあるため、データベース名とユーザー名には、マルチバイト文字を用いないことを推奨します。
以下に、その注意点と制約を示します。
1) クライアントの符号化方式の設定
CREATE時にクライアントの符号化方式を必ず設定してください。
参照
クライアントの符号化方式の設定方法は、“PostgreSQL文書”の“サーバの管理”の“文字セットサポート”を参照してください。
2) 接続に用いる名前の符号化方式
接続時に用いる名前の符号化方式は、これらの名前をCREATEしたときに接続していたデータベースの符号化方式と同じにしてください。
これは以下の理由によるものです。
FUJITSU Enterprise Postgresの名前の記憶方式
システムカタログには、CREATE時に接続していたデータベースの符号化方式で符号化した名前を保存します。
接続時のコード変換方針
接続時には、クライアントから送信された名前をコード変換せずに、システムカタログ内の名前とのマッチングを行います。
したがって、例えば、定義時に接続していたデータベースの符号化方式がEUC_JP であり、かつ、UTF-8 で符号化されたデータベース名を指定して接続すると、データベースが存在しないものと見なされます。
3) 接続方法の制約
以下の前提で、各クライアント種別における接続方法の制約を下表に示します。
1)および2)の条件を満たすこと。
データベース名とユーザー名の符号化方式は同一であること。
クライアント種別 | クライアントOS | |
---|---|---|
Windows(R) | Linux/Solaris | |
JDBCドライバ | 接続できません | 接続できません |
ODBCドライバ | 接続できません | 接続方法の制約はありません |
.NET Data Provider | 定義に用いた符号化方式がUTF-8以外では接続できません | - |
C言語による埋め込みSQL | 接続サービスファイル(pg_service.conf)以外では接続できません | 接続方法の制約はありません |
psqlコマンド | 接続サービスファイル(pg_service.conf)以外では接続できません | 接続方法の制約はありません |