psql 不读取 .pgpass
psql does not read .pgpass
我可以通过提供用户名、主机名和数据库名称登录到 PostgreSQL 服务器:
psql -U led -h 127.0.0.1 led
psql (9.2.23)
Type "help" for help.
led=>
我有这个 .pgpass 文件:
cat .pgpass
127.0.0.1:5432:led:led:password
psql 不工作。似乎无法读取 .pgpass:
psql
psql: FATAL: role "vagrant" does not exist
如您所见,psql 尝试以用户 "vagrant" 身份登录:OS shell 用户。但我想以用户 "led".
登录
.pgpass
文件提供特定用户在特定 host/port/database(或模式)上的密码详细信息。它可以包含多行,因为您可以作为多个用户连接到多个主机。
您仍然需要设置连接详细信息,然后它会使用这些信息来查找您的密码。
如果您只想要一个不同于您的系统用户名且不是本地的 "default" 连接,那么您可以通过定义 alias
或设置 environment variables 来实现。我经常在项目顶部有一个设置文件,我 source
用于设置我的测试数据库的连接详细信息。
编辑:关于设置命令别名的一些背景信息
我可以通过提供用户名、主机名和数据库名称登录到 PostgreSQL 服务器:
psql -U led -h 127.0.0.1 led
psql (9.2.23)
Type "help" for help.
led=>
我有这个 .pgpass 文件:
cat .pgpass
127.0.0.1:5432:led:led:password
psql 不工作。似乎无法读取 .pgpass:
psql
psql: FATAL: role "vagrant" does not exist
如您所见,psql 尝试以用户 "vagrant" 身份登录:OS shell 用户。但我想以用户 "led".
登录.pgpass
文件提供特定用户在特定 host/port/database(或模式)上的密码详细信息。它可以包含多行,因为您可以作为多个用户连接到多个主机。
您仍然需要设置连接详细信息,然后它会使用这些信息来查找您的密码。
如果您只想要一个不同于您的系统用户名且不是本地的 "default" 连接,那么您可以通过定义 alias
或设置 environment variables 来实现。我经常在项目顶部有一个设置文件,我 source
用于设置我的测试数据库的连接详细信息。
编辑:关于设置命令别名的一些背景信息