2014-07-24 6 views
9

Próbuję wykonać kopię zapasową db z postgresql i chcę użyć polecenia pg_dump.
Próbowałem:postgresql gdzie ma wyjście pg_dump go

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

Ale ja nie wiem, gdzie plik wyjściowy idzie.
Każda pomoc zostanie doceniona

+1

Dlaczego tego nie zrobisz, uruchom 'find/-name backup.sql' – Bohemian

Odpowiedz

8

Przejdź do wiersza polecenia i katalogu postgresql \ 9.3 \ bin.

Przykład

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

Po powyższego polecenia wprowadź użytkownika "postgres'owy" hasło i sprawdzić D:\ napęd dla backup.sql pliku

+0

dziękuję człowieku !!!! czy możesz mi pomóc w zaimportowaniu kopii zapasowej do nowej pustej bazy danych? –

+0

@ Dariush Jafari, Yup! Musisz jednak zadać nowe pytanie, najlepiej jak potrafisz. – Meem

+0

ok! idź do moich questów i odpowiedz na to po chwili! –

2

Jeśli nie określając w pełni wykwalifikowanych ścieżki, takie jak:

pg_dump your_db_name > dbdump

następnie w Windows przechowuje zrzuty w katalogu domowym bieżącego użytkownika. Tj:

C:\Users\username

0

W mojej sytuacji (PostgreSQL 01/09/21, Centos 6.7), komenda

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

zapisany plik tutaj:

/var/lib/pgsql/my_database.sql 

nie wiem, czy to jest true dla innych dystrybucji Linuksa, CentOS i/lub wersji pgl. Według the answer post by the asker of this question jest to prawda, ale inni użytkownicy stwierdzili, że plik kopii zapasowej był w bieżącym katalogu (sytuacja jest inna niż większość ludzi czytających ten wątek, z oczywistych powodów). Mam nadzieję, że pomoże to innym użytkownikom z tym samym problemem.

Ps: jeśli to nie jest ścieżka do twojej sytuacji, możesz spróbować (w Linuksie), aby znaleźć ją za pomocą poniższego polecenia (jak stwierdził @Bohemian w komentarzach tego pytania), ale to może trochę potrwać:

find/-name 'my_database.sql' 

EDIT: próbowałem uruchomić analogiczną komendę w Ubuntu 12.04:

sudo -u postgres pg_dump my_database > my_database.sql 

I w tym przypadku plik został zapisany w bieżącym katalogu, w którym został uruchomiony polecenia! Tak więc oba przypadki mogą się zdarzyć w Linuksie, w zależności od konkretnego dist pracujemy

Powiązane problemy