Jawaban:
Gunakan --table
untuk mengetahui pg_dump
tabel apa yang harus dicadangkan:
pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename dbname
psql -U username -d database -1 -f your_dump.sql
--ignore-version
. Jawaban Prashant Kumar, yang lebih sederhana, bekerja untuk saya.
Jika Anda berada di Ubuntu,
sudo su postgres
pg_dump -d <database_name> -t <table_name> > file.sql
Pastikan bahwa Anda menjalankan perintah mana postgres
pengguna memiliki hak (Contoh: /tmp
)
Edit
Jika Anda ingin membuang .sql di komputer lain, Anda mungkin perlu mempertimbangkan untuk melewatkan informasi pemilik yang disimpan ke dalam file .sql.
Kamu bisa memakai pg_dump --no-owner -d <database_name> -t <table_name> > file.sql
pg_dump -d <database_name> > file.sql
pg_dump -t <table_name> <database_name> > file.sql
pg_dump -h localhost -p 5432 -U postgres -d mydb -t my_table> backup.sql
Anda dapat mengambil cadangan dari satu tabel tetapi saya akan menyarankan untuk mengambil cadangan dari seluruh database dan kemudian mengembalikan tabel mana saja yang Anda butuhkan. Itu selalu baik untuk memiliki cadangan seluruh database.
max(id)
pada tabel saya. ini adalah jawaban yang berhasil dan saya yakin, melihat sql yang dihasilkan, bahwa saya bisa mengembalikannya.
Jika Anda lebih suka antarmuka pengguna grafis, Anda dapat menggunakan pgAdmin III (Linux / Windows / OS X). Cukup klik kanan pada tabel pilihan Anda, lalu "backup". Ini akan membuat pg_dump
perintah untuk Anda.
Sebagai tambahan untuk jawaban Frank Heiken, jika Anda ingin menggunakan INSERT
pernyataan alih-alih copy from stdin
, maka Anda harus menentukan --inserts
benderanya
pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename --inserts dbname
Perhatikan bahwa saya meninggalkan --ignore-version
benderanya, karena sudah usang.
pg_restore --host localhost --port 5432 --username postgres --dbname "anydb" --table public.tablename -Ft --verbose "/path/filename.backup"
tetapi keluar:pg_restore: [tar archiver] corrupt tar header found in --