>> postgres@pgbox:/home/postgres/ [PG961] pg_restore -h localhost -p 5439 -F d 
>> -C -j 2 /var/tmp/exp/ 
>> 
>> This runs fine but where does it connect to? Nothing is listening on port 
>> 5439. 

>Given the lack of a -d switch, I'd expect it not to try to connect 
>anywhere, just emit the restore script on stdout. At least, that's 
>what happens for me. It's weird that you don't see any printout. 

>(To be clear: it's -d that triggers a connection attempt in pg_restore. 
>Without that, -h and -p are just noise.) 

Ok, that makes sense. I got the output on screen, as mentioned. 

What I would have expected is at least a hint or warning that host and port are 
ignored if you do not specify the "-d" switch. Giving port and host clearly 
indicates that I want to connect to what I provided, doesn't it? psql uses the 
os username as default database, pg_restore doesn't? 

postgres@pgbox:/home/postgres/ [PG961] unset PGDATABASE 
postgres@pgbox:/home/postgres/ [] psql 
psql (9.6.1) 
Type "help" for help. 

(postgres@[local]:5439) [postgres] > 

Providing "-d" gives a meaningful message at least: 

postgres@pgbox:/home/postgres/ [PG961] pg_restore -h localhost -p ===6666 -d 
postgres -F d -C /var/tmp/exp/ 
pg_restore: [archiver (db)] connection to database "postgres" failed: invalid 
port number: "===6666" 

Maybe it is only me, but this is not consistent behavior, is it? 


Regards 
Daniel 

Reply via email to