我正在尝试使用PSQL连接到在非默认端口上运行的数据库:
PSQL SYNOPSIS
psql [option...] [dbname [username]]
psql -h wrds-pgdata.wharton.upenn.edu –p 9737 -W myDatabase myAccountName
psql: warning: extra command-line argument "myDatabase" ignored
psql: warning: extra command-line argument "myAccountName" ignored
Password for user 9737:
请注意,只是忽略-p命令。不知何故,psql假设9737是用户名!让我们试着更明确一点:
psql -h wrds-pgdata.wharton.upenn.edu –p 9737 -d myDatabase -U myAccountName -W
psql: warning: extra command-line argument "–p" ignored
psql: warning: extra command-line argument "9737" ignored
Password for user myAccountName:
不,那也不好! 我让它工作的唯一方法是:
PGPORT=9737; export PGPORT
psql -h wrds-pgdata.wharton.upenn.edu -d myDatabase -U myAccountName -W
我正在使用psql(PostgreSQL)9.5.8。任何想法为什么普通的命令行不起作用?
答案 0 :(得分:0)
这是最奇怪的。我之前多次以这种方式使用psql
并让它发挥作用。从阅读man psql
开始,你的命令似乎很好。我的版本也是9.5.8但我没有确切的环境可供测试。
我唯一可以怀疑的是,域的一部分被解释为参数;
WRDS -p
gdata.wharton.upenn.edu
你能试试吗;
psql -h "wrds-pgdata.wharton.upenn.edu" –p 9737 -d myDatabase -U myAccountName -W
此外,该手册还指出--port=9737
仅适用于-p
。你可能会有更多的运气。
答案 1 :(得分:0)
该特定错误很奇怪...但是以下内容对我有用。最后一个参数“ wrds”是wrds存储所有内容的数据库的名称。
psql -h wrds-pgdata.wharton.upenn.edu –p 9737 -U myUserBame -W wrds