Re: Debian : No echo after pg_dump | psql - Mailing list pgsql-general

From Andrew Gierth
Subject Re: Debian : No echo after pg_dump | psql
Date
Msg-id 87ftvjmd8m.fsf@news-spur.riddles.org.uk
Whole thread Raw
In response to Debian : No echo after pg_dump | psql  (Moreno Andreo <moreno.andreo@evolu-s.it>)
Responses Re: Debian : No echo after pg_dump | psql
List pgsql-general
>>>>> "Moreno" == Moreno Andreo <moreno.andreo@evolu-s.it> writes:

 Moreno> The command I'm using is
 Moreno> root@xxxxx:~# pg_dump -v -C -h <remote host> -p 6543 -U postgres
 Moreno> <dbname> | psql -h localhost -p 6543 -U postgres <dbname>
 Moreno> It presents a double password prompt after I run it:
 Moreno> Password: Password for user postgres:

This is going to prompt once for the remote host's password and twice
for the local one (because -C), and the concurrently-running commands
are going to be fighting over access to the terminal to do it. Best
avoided by using pgpass or non-password-based auth methods.

More seriously, you're misunderstanding how -C works. When you use -C,
the database you specify to psql (or pg_restore) is NOT the database
you're restoring into - the restored db will ALWAYS have the same name
as it had when dumped (if that's not what you want then don't use -C).
Instead, the database you specify to psql or pg_restore is the database
to connect to to issue the CREATE DATABASE command, which should usually
be 'postgres'. That explains this bit:

 Moreno> If I create database (just database, not schema) on target
 Moreno> machine, I receive the error "database xxxx already exists" but
 Moreno> the dump goes on If I don't create it, I receive the error
 Moreno> "database xxxx does not exist" and processing aborts.

-- 
Andrew (irc:RhodiumToad)


pgsql-general by date:

Previous
From: Adrian Klaver
Date:
Subject: Re: Debian : No echo after pg_dump | psql
Next
From: Chris Withers
Date:
Subject: Re: surprising query optimisation