Type: | bool |
Défaut: | off |
Contexte: | sighup |
Redémarrer: | false |
Obsolète: | 16 |
Ce paramètre autorise des noms d'utilisateur par base de données. Il est à off
par défaut. Ce paramètre ne peut être positionné que dans le fichier postgresql.conf ou sur la ligne de commande du serveur.
S'il est activé, vous devez créer des utilisateurs en tant que username@dbname. Quand username est transmis par une connexion cliente, @
et le nom de la base sont ajoutés au nom d'utilisateur, et ce nom spécifique à la base sera recherché par le serveur. Notez que si vous créez des utilisateurs dont le nom comprend un @
, vous devrez ajouter des guillemets autour de ce nom.
Même avec ce paramètre activé, vous pouvez toujours créer les utilisateurs globaux ordinaires. Ajoutez simplement @
en donnant le nom dans le client, comme par exemple pierre@
. Le @
sera supprimé avant la recherche de l'utilisateur par le serveur.
db_user_namespace
provoque un écart entre les représentations des noms du client et du serveur. Les tests d'authentification sont toujours fait avec le nom d'utilisateur du serveur, donc les méthodes d'authentification doivent être configurées avec le nom connu du serveur, pas celui du client. Comme md5
utilise le nom d'utilisateur comme sel sur le client comme sur le serveur, md5
ne peut être utilisé avec db_user_namespace
.
Cette option est considérée comme une mesure provisoire jusqu'à ce qu'une solution complète soit trouvée. À ce moment, cette option sera supprimée.