postgresql - .pgpass 文件不能像宣传的那样工作

标签 postgresql

( 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 (PGHOSTPGDATABASEPGUSER、...),并可能将它们放在您的 .bashrc 文件中(取决于您使用的外壳)。

然后您可以选择将密码本身存储在 PGPASSWORD 环境变量或 .pgpass 文件中。后者可能会给您更多的灵 active 。

关于postgresql - .pgpass 文件不能像宣传的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31078232/

相关文章:

postgresql - 如何指定模式以在 Postgresql 命令行中针对运行 sql 文件

postgresql - 使用 postgres uuid_generate_v4 时有很多重复值

postgresql - PostgreSQL 可以在过程中声明过程吗?

Django ORM原始删除查询不删除记录

asp.net - 配置 ASP.NET 开发服务器以连接到 postgres 数据库

c# - 与数据库无关的 ASP.Net?

sql - Postgres - 在表中跨列搜索特定值

postgresql - 使用 postgres_fdw 时遇到的问题

sql - Postgres 选择枚举数组中特定数组的位置

python - 选择存在与限制 1