タイプ: | bool |
デフォルト: | off |
コンテキスト: | sighup |
再起動: | false |
廃止予定: | 16 |
このパラメータはデータベース毎のユーザ名を可能にします。デフォルトはオフです。このパラメータはpostgresql.confファイル、またはサーバのコマンドラインでのみ設定可能です。
これがオンの場合、username@dbnameの様にしてユーザを作成しなければなりません。usernameが接続中のクライアントより渡された時、 @
およびデータベース名がユーザ名に付加され、そのデータベース特有のユーザ名をサーバが見に行きます。SQL環境下で@
を含む名前のユーザを作成する場合、そのユーザ名は引用符で括られなければならないことに注意してください。
このパラメータを有効にしていても通常の広域ユーザを作成することができます。クライアントにユーザ名を指定する時に、たとえばjoe@
のように単に@
を付け加えてください。@
はサーバがユーザ名を検索する以前に取り去られます。
db_user_namespace
はクライアントとサーバのユーザ名の表示を区別することができます。認証検査は常にサーバのユーザ名で行われるので、認証方式はクライアントのではなくサーバのユーザ名で構成されなければなりません。md5
では、クライアントおよびサーバの両方でユーザ名をソルトとして使用するので、md5
をdb_user_namespace
と一緒に使用することはできません。
この機能は完全な解決方法が見つかるまでの一時的なものです。完全な解決方法が見つかったら、このオプションは削除される予定です。
推奨事項 [EN]
This setting is a hack to work around the lack of per-database users in PostgreSQL. Unless you desperately need it, avoid this setting as it will eventually be replaced by something more maintainable.