Import SQL dump ke database PostgreSQL
Kita beralih host dan lama disediakan SQL dump dari database PostgreSQL dari situs kami.
Sekarang, aku'm mencoba untuk mengatur hal ini pada lokal WAMP server untuk tes ini.
Satu-satunya masalah adalah bahwa saya don't memiliki ide bagaimana untuk mengimpor database di PostgreSQL 9 yang telah ditetapkan.
Saya mencoba pgAdmin III tapi aku bisa't tampaknya menemukan 'import' fungsi. Jadi saya hanya membuka SQL editor dan disisipkan isi dump ada dan dilaksanakan, itu menciptakan tabel tetapi terus memberi saya kesalahan ketika mencoba untuk menempatkan data di dalamnya.
ERROR: syntax error at or near "t"
LINE 474: t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view...
The lines:
COPY tb_abilities (active, creation, modtime, id, lang, title, description) FROM stdin;
t 2011-05-24 16:45:01.768633 2011-05-24 16:45:01.768633 view nl ...
I've juga mencoba untuk melakukan hal ini dengan command prompt tapi aku bisa't menemukan perintah yang saya butuhkan.
Jika saya lakukan
psql mydatabase < C:/database/db-backup.sql;
Saya mendapatkan error
ERROR: syntax error at or near "psql"
LINE 1: psql mydatabase < C:/database/db-backu...
^
Apa's cara terbaik untuk import database?
Yang's perintah yang anda cari.
Hati-hati:
databasename
harus diciptakan sebelum mengimpor. Silahkan lihat di PostgreSQL Dokumen Bab 23. Backup dan Restore.Berikut adalah perintah yang anda cari.
Saya percaya bahwa anda ingin berjalan di psql:
Yang bekerja untuk saya:
I'm tidak yakin jika ini bekerja untuk OP's situasi, tapi saya menemukan bahwa menjalankan perintah berikut di konsol interaktif adalah solusi yang paling fleksibel untuk saya:
Hanya pastikan anda're sudah terhubung ke database yang benar. Perintah ini mengeksekusi semua perintah-perintah SQL dalam file tertentu.
Bekerja dengan cukup baik, di baris perintah, semua argumen yang diperlukan, -W adalah untuk password
Hanya untuk funsies, jika anda dump dikompresi anda dapat melakukan sesuatu seperti
gunzip -c filename.gz | psql dbname
Sebagai Jacob disebutkan, PostgreSQL docs menggambarkan semua ini dengan cukup baik.
Saya gunakan:
Berharap ini akan membantu seseorang.
Anda dapat melakukannya di pgadmin3. Drop schema(s) yang anda dump berisi. Kemudian klik kanan pada database dan pilih Restore. Kemudian anda dapat menelusuri untuk dump file.
Saya melihat bahwa banyak contoh yang overcomplicated untuk localhost di mana hanya postgres user tanpa password ada di banyak kasus-kasus:
Saya mencoba banyak solusi yang berbeda untuk memulihkan saya postgres cadangan. Aku berlari ke permission denied masalah pada MacOS, tidak ada solusi yang tampaknya bekerja.
Berikut ini's bagaimana saya mendapatkannya untuk bekerja:
Postgres dilengkapi dengan Pgadmin4. Jika anda menggunakan macOS anda dapat menekan
CMD
+RUANG
dan ketikpgadmin4
untuk menjalankannya. Ini akan membuka tab browser di chrome.Langkah-langkah untuk mendapatkan pgadmin4 + backup/restore
1. Buat cadangan
Lakukan ini dengan rightclicking database -> "backup"
2. Berikan nama file.
Seperti
test12345
. Klik backup. Hal ini menciptakan sebuah file biner dump, it's tidak dalam.sql
format3. Lihat di mana-download
Harus ada popup di bottomright dari layar anda. Klik "rincian lebih lanjut" halaman untuk melihat di mana anda backup di-download ke
4. Cari lokasi file yang didownload
Dalam hal ini, it's
/pengguna/vincenttang
5. Mengembalikan cadangan dari pgadmin
Dengan asumsi anda lakukan langkah 1 sampai 4 dengan benar, anda'll telah mengembalikan file biner. Mungkin ada datang suatu waktu anda dan rekan kerja yang ingin anda gunakan untuk mengembalikan file pada komputer lokal. Kata orang yang pergi ke pgadmin dan mengembalikan
Lakukan ini dengan rightclicking database -> "kembalikan"
6. Pilih file finder
Pastikan untuk memilih lokasi file secara manual, JANGAN drag dan drop file ke uploader bidang di pgadmin. Karena anda akan mengalami error izin. Sebaliknya, cari file yang baru saja dibuat:
7. Menemukan kata file
Anda mungkin harus mengubah filter di bottomright untuk "Semua file". Menemukan file setelah itu, dari langkah 4. Sekarang tekan bottomright "Pilih" tombol untuk konfirmasi
8. Mengembalikan file yang mengatakan
Anda'll melihat halaman ini, sekali lagi, dengan lokasi dari file yang dipilih. Pergi ke depan dan mengembalikannya
9. Sukses
Jika semua baik, kanan bawah harus popup indikator yang menunjukkan pemulihan sukses. Anda dapat menavigasi ke tabel anda untuk melihat apakah data telah dipulihkan propery di meja masing-masing.
10. Jika itu't sukses:
Seharusnya langkah 9 gagal, mencoba menghapus umum lama schema di database. Pergi ke "Permintaan Alat"
Mengeksekusi blok kode ini:
DROP SKEMA umum CASCADE; MEMBUAT SKEMA umum;
Sekarang coba langkah 5 sampai 9 lagi, harus bekerja keluar
Ringkasan
Ini adalah bagaimana saya harus backup/restore backup saya pada Postgres, ketika aku telah kesalahan masalah izin dan tidak bisa login sebagai superuser. Atau mengatur kredensial untuk membaca/menulis menggunakan
chmod
untuk folder. Alur kerja ini bekerja untuk file biner dump default "Kustom" dari pgadmin. Saya asumsikan.sql
adalah cara yang sama, tapi saya belum diuji yang