我正在尝试使用一个单词别名来访问 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
这一切都变得次要,但仍然值得探索。