( Derby 安 8)
我的 .pgpass 文件位于我的主文件夹 (admin)
我并使用文档中指示的正确格式
主机名:端口:数据库:用户名:密码
当显式放入 psql
命令行时,我放在那里的相同字段工作得很好。 (当然我得手动输入密码)。
但是,单独运行 psql
会给我们一个错误:
psql: FATAL: 角色“admin”不存在
请注意,我的 sql 用户名不是 admin,而是我的 debian 用户名。
我做错了什么?我的目标是无需使用包括主机/端口/用户名/数据库在内的复杂命令行即可访问 psql
最佳答案
.pgpass
不是一种选择您要使用的设置的方法,它是一种为您已经选择使用的许多设置存储密码的方法。它可以包含多行。然后根据 the documentation 如下选择相关行:
The password field from the first line that matches the current connection parameters will be used.
您仍然需要提供您的连接参数(除了密码)。
如果你总是想使用相同的连接参数,你应该使用 environment variables (PGHOST
、PGDATABASE
、PGUSER
、...),并可能将它们放在您的 .bashrc
文件中(取决于您使用的外壳)。
然后您可以选择将密码本身存储在 PGPASSWORD
环境变量或 .pgpass
文件中。后者可能会给您更多的灵 active 。
关于postgresql - .pgpass 文件不能像宣传的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31078232/