Apakah ada cara untuk membuat cadangan dari satu tabel dalam database menggunakan postgres? Dan bagaimana? Apakah ini juga berfungsi dengan perintah pg_dump?
postgresql
backup
pg-dump
Elitmiar
sumber
sumber
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 --
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
sumber
pg_dump -d <database_name> > file.sql
pg_dump -t <table_name> <database_name> > file.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.
9 cara menggunakan pg_dump
sumber
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.sumber
Sebagai tambahan untuk jawaban Frank Heiken, jika Anda ingin menggunakan
INSERT
pernyataan alih-alihcopy from stdin
, maka Anda harus menentukan--inserts
benderanyapg_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.sumber