2017-09-19 4 views
0

Ich versuche, mit einer Datenbank zu verbinden, die auf einem Nicht-Standard-Port mit PSQL ausgeführt wird:PSQL ignoriert Port-Parameter

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: 

Beachten Sie, dass der -p Befehl einfach ignoriert. Irgendwie nimmt psql an, dass 9737 der Benutzername ist! Lassen Sie uns versuchen, expliziter zu sein:

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: 

Nein, das ist auch nicht gut! Die einzige Art, wie ich dies zu Arbeit bekam, war:

PGPORT=9737; export PGPORT 
psql -h wrds-pgdata.wharton.upenn.edu -d myDatabase -U myAccountName -W 

Ich bin mit psql (PostgreSQL) 9.5.8. Irgendeine Idee, warum die normale Befehlszeile nicht funktioniert?

Antwort

0

Das ist am seltsamsten. Ich habe psql auf diese Weise schon oft verwendet und hatte es funktioniert. Und Ihr Befehl scheint gut aus dem Lesen man psql. Meine Version ist auch 9.5.8, aber ich habe nicht die genauen Umstände zu testen.

Das einzige, was ich vermuten kann ist, dass ein Teil der Domäne als ein Argument interpretiert wird;

WRDS -p gdata.wharton.upenn.edu

Sie könnten versuchen;

psql -h "wrds-pgdata.wharton.upenn.edu" –p 9737 -d myDatabase -U myAccountName -W 

Auch stellt das Handbuch, dass --port=9737 eine alternative für nur -p ist. Vielleicht hast du mehr Glück damit.