มีวิธีสร้างการสำรองข้อมูลของตารางเดียวภายในฐานข้อมูลโดยใช้ postgres หรือไม่? แล้วยังไง? สิ่งนี้ใช้ได้กับคำสั่ง pg_dump ด้วยหรือไม่
มีวิธีสร้างการสำรองข้อมูลของตารางเดียวภายในฐานข้อมูลโดยใช้ postgres หรือไม่? แล้วยังไง? สิ่งนี้ใช้ได้กับคำสั่ง pg_dump ด้วยหรือไม่
คำตอบ:
ใช้--table
เพื่อบอกpg_dump
ตารางที่มีการสำรองข้อมูล:
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
และผมก็มีข้อผิดพลาดที่ไม่รู้จักสำหรับธง คำตอบของ Prashant Kumar ซึ่งง่ายกว่าสำหรับฉัน
ถ้าคุณอยู่บน Ubuntu
sudo su postgres
pg_dump -d <database_name> -t <table_name> > file.sql
ตรวจสอบให้แน่ใจว่าคุณกำลังดำเนินการคำสั่งที่postgres
ผู้ใช้มีสิทธิ์ในการเขียน (ตัวอย่าง: /tmp
)
แก้ไข
หากคุณต้องการดัมพ์. sql ในคอมพิวเตอร์เครื่องอื่นคุณอาจต้องพิจารณาข้ามข้อมูลเจ้าของที่ได้รับการบันทึกลงในไฟล์. sql
คุณสามารถใช้ได้ 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
คุณสามารถสำรองข้อมูลของตารางเดียว แต่ฉันอยากจะแนะนำให้สำรองข้อมูลของฐานข้อมูลทั้งหมดแล้วเรียกคืนตารางใดก็ตามที่คุณต้องการ มันเป็นการดีเสมอที่จะมีการสำรองฐานข้อมูลทั้งหมด
max(id)
บนโต๊ะของฉัน นี่คือคำตอบที่ใช้งานได้และฉันมั่นใจดู sql ที่สร้างขึ้นซึ่งฉันสามารถกู้คืนได้
หากคุณต้องการส่วนต่อประสานผู้ใช้แบบกราฟิกคุณสามารถใช้ pgAdmin III (Linux / Windows / OS X) เพียงคลิกขวาที่ตารางที่คุณเลือกจากนั้นเลือก "backup" มันจะสร้างpg_dump
คำสั่งให้คุณ
นอกเหนือจากคำตอบของ Frank Heiken หากคุณต้องการใช้INSERT
คำสั่งแทนคุณcopy from stdin
ควรระบุการ--inserts
ตั้งค่าสถานะ
pg_dump --host localhost --port 5432 --username postgres --format plain --verbose --file "<abstract_file_path>" --table public.tablename --inserts dbname
ขอให้สังเกตว่าฉันออกจาก--ignore-version
ธงเพราะมันเลิก
pg_restore --host localhost --port 5432 --username postgres --dbname "anydb" --table public.tablename -Ft --verbose "/path/filename.backup"
แต่มันออกมา:pg_restore: [tar archiver] corrupt tar header found in --