2014-07-24 12 views
9

Sto provando a fare il backup di un db di postgresql e voglio usare il comando pg_dump.
ho provato:postgresql dov'è l'uscita di pg_dump go

psql -U postgres 
postgres-# pg_dump test > backup.sql 

Ma io non so dove il file di output va.
Qualsiasi aiuto sarà apprezzato

+1

Perché non farlo, quindi eseguire 'find/-name backup.sql' – Bohemian

risposta

8

Passare al prompt dei comandi e alla directory postgresql \ 9.3 \ bin.

Esempio

c:\Program files\postgresql\9.3\bin> pg_dump -h localhost -p 5432 -U postgres test > D:\backup.sql 

Dopo comando precedente digitare "postgres" User Password e verificare D:\ unità per backup.sql file di

+0

grazie amico !!!! puoi aiutarmi a importare il backup in un nuovo db vuoto? –

+0

@Dariush Jafari, Yup! Ma devi pubblicare una nuova domanda per questo con la tua migliore prova. – Meem

+0

ok! vai alle mie ricerche e rispondi dopo un momento! –

2

Se non si specificano percorsi completi, come:

pg_dump your_db_name > dbdump

quindi in Windows memorizza i dump nella home directory dell'utente corrente. Vale a dire:

C:\Users\username

0

Nella mia situazione (PostgreSQL 9.1.21, CentOS 6.7), il comando

runuser -l postgres -c 'pg_dump my_database > my_database.sql' 

salvato il file qui:

/var/lib/pgsql/my_database.sql 

Non sono sicuro se questo è vero per altre versioni Linux, CentOS e/o versioni pgl. Secondo the answer post by the asker of this question, questo è vero, ma altri utenti hanno affermato che il file di backup si trovava nella directory corrente (una situazione diversa dalla maggior parte delle persone che leggono questo thread, per ovvi motivi). Bene, spero che questo possa aiutare gli altri utenti con lo stesso problema.

Ps: se questo non è il percorso per la situazione, puoi provare (in Linux) a trovarlo utilizzando il comando di seguito (come dichiarato da @Bohemian nei commenti di questa domanda), ma questo può richiedere un po 'di tempo:

find/-name 'my_database.sql' 

EDIT: ho cercato di eseguire il comando analogo in Ubuntu 12.04:

sudo -u postgres pg_dump my_database > my_database.sql 

E in questo caso il file è stato salvato nella directory corrente in cui mi sono imbattuto il comando! Quindi entrambi i casi possono accadere in Linux, a seconda della specifica dist che si sta lavorando

Problemi correlati