2013-04-25 15 views
24

Mam mnóstwo plików zrzutu PostgreSQL, które muszę przeglądać dla danych. Czy muszę instalować PostgreSQL i "odzyskiwać" każdego z nich do nowych baz danych jeden po drugim? Czy mam nadzieję, że jest klientem PostgreSQL, który może je po prostu otworzyć i mogę zajrzeć do danych, może nawet uruchomić proste zapytanie SQL?Łatwy sposób, aby wyświetlić pliki zrzutu PostgreSQL?

Pliki zrzutu pochodzą z serwera Postgresql v9.1.9.

A może istnieje narzędzie, które może z łatwością uczynić bazę danych "połączeniem" z plikami zrzutu?

UPDATE: Są nie plików tekstowych. Są to binarne. Pochodzą one z mechanizmu tworzenia kopii zapasowych Heroku, jest to what Heroku says about how they create their backups:

PG Kopie wykorzystuje natywne narzędzie pg_dump PostgreSQL tworzyć swoje pliki kopii zapasowych, co trywialne eksportować do innych PostgreSQL instalacji.

+1

jak były wykonane wysypisk? tj. ... czy masz dokładną komendę używaną do ich utworzenia? – swasheck

+0

Zrzuty zostały wykonane z mechanizmu kopii zapasowej Heroku –

Odpowiedz

23

Spróbuj otworzyć pliki za pomocą edytora tekstu - domyślnym formatem zrzutów jest zwykły tekst.

Jeśli zrzut nie jest zwykły tekst - spróbuj użyć polecenia pg_restore -l your_db_dump.file. Wyświetli listę wszystkich obiektów w zrzucie bazy danych (takich jak tabele, indeksy ...).

Innym możliwym sposobem (może nie działać, nie próbowałem go) jest grep na wyjściu polecenia pg_restore your_db_dump.file. Jeśli dobrze zrozumiałem instrukcję - wyjście pg_restore jest po prostu sekwencją zapytań SQL, która odbuduje bazę danych.

+1

to 'pg_restore' to polecenie, które jest instalowane podczas instalowania serwera Postgresql? Czy mogę z łatwością zabrać to polecenie skądś? –

+0

'pg_restore -l' podaje tylko tabele i inne metadane, a nie rzeczywiste dane. Twoja ostatnia sugestia działała jednak idealnie dla mnie. –

+8

To działało dla mnie: 'pg_restore db.bin> db.sql'. Dzięki! – andrewtweber

0

Pliki zrzutu to zazwyczaj plik tekstowy, jeśli nie jest skompresowany, i można je otworzyć za pomocą edytora tekstu. Wewnątrz znajdziesz wszystkie zapytania, które umożliwiają przebudowę bazy danych ...

+4

Te zrzuty nie są plikami tekstowymi, są binarne –

0

Jeśli używasz pgAdmin w systemie Windows, możesz po prostu utworzyć kopię zapasową pliku jako zwykły tekst, istnieje jedna opcja podczas tworzenia kopii zapasowej zamiast pg_dump w wierszu poleceń.

7

miałem ten sam problem i skończyło się w ten sposób:

  1. Instalacja PostgreSQL i PGAdmin3.
  2. Otwórz PGAdmin3 i utwórz bazę danych.
  3. Kliknij prawym przyciskiem myszy db i kliknij przycisk przywróć.
  4. Ignoruj ​​typ pliku.
  5. Wybierz plik zrzutu bazy danych z Heroku.
  6. Kliknij przycisk Przywróć.
29

To było to, czego szukał:

pg_restore db.bin > db.sql 

Dzięki @andrewtweber

+1

To jest dokładnie dobra odpowiedź – brunetton

+1

Działa doskonale, dzięki. – Brandon

+1

Plik zrzutu może być duży. Jeśli tak jest, sugeruję wypróbowanie 'pg_restore db.bin | less', jeśli chcesz tylko rzucić okiem lub wykonać 'pg_restore db.bin | psql dbname> log 2> error', jeśli chcesz go przywrócić. –

Powiązane problemy