जवाबों:
उपयोग --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
। प्रशांत कुमार का जवाब, जो सरल है, मेरे लिए काम कर गया।
यदि आप उबंटू में हैं,
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)
अपनी मेज पर अनुक्रम की अंतिम आईडी को अपडेट करने के तरीकों की तलाश करूंगा। यह वह उत्तर है जिसके लिए मैंने काम किया और मुझे विश्वास है कि उत्पन्न एसक्यूएल को देखते हुए, कि मैं इसे बहाल कर सकता था।
यदि आप एक ग्राफिकल यूजर इंटरफेस पसंद करते हैं, तो आप pgAdmin III (लिनक्स / विंडोज / ओएस एक्स) का उपयोग कर सकते हैं। बस अपनी पसंद की मेज पर राइट क्लिक करें, फिर "बैकअप"। यह आपके लिए एक pg_dump
कमांड बनाएगा ।
फ्रैंक हाइकेन के जवाब के अतिरिक्त, यदि आप 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 --