pg_dump i tworzenie bazy od początku ...

0

Co (i gdzie) trzeba zrobić, aby w pliku zrzuconym przez 'pg_dump' znalazło się polecenie tworzące bazę?

Na razie zrobiłem tak:

  1. zalogowałem się do postgresa, psql -U postgres
  2. utworzyłem bazę 'testdb', CREATE DATABASE testdb;
  3. wylogowałem się z postgresa, \q,
  4. zalogowałem się do bazy 'testdb', psql -d testdb -U postgres
  5. utowrzyłem jakieś tabele i sekwencje w bazie testdb
  6. zrobiłem pg_dump: pg_dump testdb --no-owner

ale w skrypcie *.sql nie mam żadnego polecenia CREATE DATABASE, a tylko polecenia tworzące tabele. Co zrobić?

0

Dopisać je.

0

Możesz też skorzystać z polecenia pg_dumpall : http://www.postgresql.org/docs/9.1/static/app-pg-dumpall.html

0

Ahaaa, a myślałem, że da radę automatycznie, nie ręcznie.

Aaa, chyba to: http://www.postgresql.org/docs/9.1/static/app-pg-dumpall.html rzeczywiście da radę. Dzięki!

Jeszcze jedno pytanie. Zrobiłem to co wyżej, ale dało mi właściwie nie backup (schemat) bazy, ale pokazało takie cuś:

pg_dump: [archiver (db)] connection to database "testdb" failed: FATAL: password authentication failed for user "aleks"

nie bardzo rozumiem, dlaczego?

0

No i oczywiście pytanie: jak to obejść, "naprawić"?:)

0

Musisz się zalogować na odpowiedniego użytkownika w poleceniu użyj przełącznika -U username - pewnie u Ciebie będzie to postgres
W linku który podesłałem wszystko jest opisane dokładnie.

0

No ok, ale wydając komendę:

pg_dump testdb -U postgres --no-owner -f plik.sql

nie będę miał w pliku *.sql jako ownera postgresa? (Testowałem, niby nie ma, ale chcę mieć pewność) ;) a widzę, że się orientujesz

0

@ozi88:
No ok, ale wydając komendę:

pg_dump testdb -U postgres --no-owner -f plik.sql

nie będę miał w pliku *.sql jako ownera postgresa? (Testowałem, niby nie ma, ale chcę mieć pewność) ;) a widzę, że się orientujesz

0

@ozi88: a jest możliwe coś takiego:

pg_dumpall -l testdb -U postgres --no-owner -f plik.sql

z tym, że robi mu dump TYLKO dla tej jednej bazy, a nie wszystkich? Czytałem w dokumentacji, ale tego nie widzę - jest jakiś inny sposób oprócz "ręcznego" dopisania komendy do pliku *.sql?

0

Jeżeli wyspecyfikujesz w poleceniu którą ma zrzucić - to zrzuci tylko jedną.

1 użytkowników online, w tym zalogowanych: 0, gości: 1