Postgres 轻松登录与 pgpass 和别名不起作用



我正在尝试使用一个单词别名来访问 postgres 数据库,我遇到的问题是它需要回车才能工作。谁能帮我让它在没有回车的情况下登录?

这是我的别名,位于我加点的环境文件中:

alias pgres='psql --host cloudpoc.test.com.au -p 8367 -U kevin -W kev_db'

这是我的.pgpass文件,位于用户主目录中:

cloudpoc.test.com.au:8367:kev_db:kevin:kevpass123

如果我输入"pgres",则会收到密码提示。我必须再次按回车键才能登录。

它不应该直接登录我吗?

提示输入密码是-W的用途。 如果您不希望这种行为,请不要使用-W

您可以在 home 中名为~/.pg_service.conf的 postgresql 服务文件中指定数据库连接参数。根据连接字符串:

cloudpoc.test.com.au:8367:kev_db:kevin:kevpass123

您将在~/.pg_service.conf中输入以下内容:

# Kevin's database service
[kev]
host=cloudpoc.test.com.au
port=8367
user=kevin
dbname=kev_db
password=kevpass123

然后,您将使用以下方法连接到数据库:

psql service=kev

您需要做的就是将-W替换为-d,如下所示:

alias pgres='psql --host cloudpoc.test.com.au -p 8367 -U kevin -d kev_db'

我有一个完全相同的情况,有一个非常长的云数据库名称,这个解决方案就像一个魅力。

无论如何,请允许我强调Paul Rougieux的解决方案,它为我的/您的解决方案提供了更有用的替代方案。诚然,随着alias这一切都变得次要,但仍然值得探索。

最新更新