I'm looking for one-liner command for import & export SQL without login into postgres role or psql prompt.
Below is what I got for import SQL, but it asking password every time:
psql -h localhost -d dbname -U postgres -f /var/www/db.sql
Below is equivalent command in MySQL (import & export):
mysql -u root -p password dbname < /var/www/db.sql
mysqldump -u root -p password --single-transaction --skip-extended-insert --quick dbname > /var/www/db.sql
-
1stackoverflow.com/q/6405127/330315user1822– user18222015年05月31日 18:54:48 +00:00Commented May 31, 2015 at 18:54
-
1stackoverflow.com/q/15359348/939860Erwin Brandstetter– Erwin Brandstetter2015年06月01日 01:34:29 +00:00Commented Jun 1, 2015 at 1:34
1 Answer 1
psql
doesn't provide a command line option for the password to avoid disclosing it to other local users.
However it accepts the PGPASSWORD
environment variable, so your equivalent of mysql's -p password
is, in shell syntax:
PGPASSWORD=password psql -h localhost -d dbname -U postgres -f /var/www/db.sql
Alternatively, a client-side password file may be used.