Mam kopie zapasowe wszystkich baz danych PostgreSQL podczas przyrostowych kopii zapasowych przy użyciu WHM, który tworzy $ dbName. plik tar .
Dane są przechowywane w tych plikach .tar, ale nie wiem, jak przywrócić je z powrotem do poszczególnych baz danych za pośrednictwem SSH. W szczególności lokalizacja pliku.
Korzystałem z:
pg_restore -d client03 /backup/cpbackup/daily/client03/psql/client03.tar
co powoduje błąd „nie można otworzyć pliku wejściowego: odmowa uprawnień”
Każda pomoc doceniona.
postgresql
Stephen
źródło
źródło
Odpowiedzi:
Znaleziono prawidłowy ciąg kodu, na wypadek, gdyby ktoś znalazł ten wątek.
Podział był z http://www.postgresql.org/docs/7.3/static/app-pgrestore.html i trochę prób i błędów.
Głównie...
Mam nadzieję, że powyższe pomaga komuś innemu.
źródło
Gdy używałem PgAdmin III do przywracania dla mnie, działał bezbłędnie, używając następującego skonstruowanego przez siebie polecenia:
Uwaga: aby uniknąć ostrzeżeń, dobrze jest mieć rolę właściciela obiektów w pliku kopii zapasowej, który już istnieje na serwerze docelowym. Powinieneś także mieć docelową bazę danych utworzoną i posiadaną przez tę rolę.
źródło
Nie jestem pewien, czy można zaimportować plik .tar. Zrobiłbym
aby wyodrębnić wszystko, co było w pliku, i spróbuj ponownie pg_restore. Wiem, że pg_restore działa, ponieważ mamy tę samą metodę przywracania z przywracania od zera.
źródło
Poniżej wygenerowano dla mnie z pgAdmin iii, klikając bazę danych i klikając prawym przyciskiem myszy i wybierając przywróć. Nawigowałem do pliku .tar, który miałem i zrobił to sam.
źródło
W przypadku wersji 9.5 uruchom następujące polecenie w wierszu polecenia
pg_restore -W -c -U [username] -d [database_name] -v "[path to extracted tar]"
źródło
KONSOLA GNU / LINUX:
- Szczegółowa pomoc
źródło