GNU/Linux >> Belajar Linux >  >> Linux

Tidak dapat pg_restore file SQL di VM Linux jarak jauh

'pg_restore' dimaksudkan untuk memulihkan file yang dihasilkan oleh 'pg_dump'.

Dari halaman manual

pg_restore adalah utilitas untuk memulihkan database PostgreSQL dari anarki yang dibuat oleh pg_dump(1) dalam salah satu format non-teks biasa.

https://www.postgresql.org/docs/9.2/static/app-pgrestore.html

Jika file Anda dihasilkan oleh pg_dump, Anda mungkin perlu setidaknya memberi tahu database mana yang akan dibuang:

pg_restore -d my_new_database temp.sql

Pengalaman saya sendiri dengan pg_restore dalam berbagai rasa menunjukkan bahwa berkali-kali saya perlu menentukan format file dump, meskipun itu dalam format 'asli', meskipun halaman manual menunjukkan bahwa itu akan mendeteksi formatnya.

pg_restore -d my_new_database -Fc temp.dump

Ini hanya tebakan, tapi saya berpikir jika tabel benar-benar dipulihkan, tanpa menentukan db, tabel tersebut dibuang ke database default. Anda dapat memeriksanya dengan mendaftar tabel di database 'postgres' (seharusnya tidak ada).

postgres=#\c postgres
You are now connected to database "postgres" as user "postgres".
postgres=#\dt
No relations found.

Jika tabel Anda dipulihkan ke database default, tabel tersebut akan dicantumkan.

File SQL teks biasa perlu diperlakukan secara berbeda, biasanya dijalankan melalui perintah SQL menggunakan psql.

psql -d my_database < temp.sql

Dengan asumsi Anda membuat cadangan basis data Anda seperti ini:

pg_dump -a --inserts databasename > exportfilename.sql

Coba pulihkan file Anda seperti ini:

psql databasename -f exportfilename.sql

Postgres pg_restore seperti yang disebutkan di atas hanya dimaksudkan untuk digunakan dengan dump file, Anda tidak dapat mengembalikannya seperti itu. Periksa jawaban ini di situs resmi postgres.org

Pada dasarnya Anda tidak gunakan pg_restore dengan sql file --->https://www.postgresql.org/message-id/AANLkTi%3DAqmWrUR4f8%2BEfCHzP%2BQrL1%3DunRLZp_jX7SoqF%40mail.gmail.com


Linux
  1. Linux – Semuanya Adalah File?

  2. Contoh file /etc/services di Linux

  3. Pengeditan jarak jauh dengan editor lokal (Linux)

  1. Cara memindahkan file di Linux

  2. Memahami Izin File Linux

  3. Membaca file CSV dengan kueri SQL dari linux shell

  1. Perintah Ekor Linux

  2. Perintah Sentuh Linux

  3. Perintah Cat di Linux