2010-09-10 15 views
68

क्या पोस्टग्रेज़ का उपयोग कर डेटाबेस में एक ही टेबल का बैकअप बनाने का कोई तरीका है? और कैसे? क्या यह pg_dump कमांड के साथ भी काम करता है?पोस्टग्रेज़ डेटाबेस में एक ही तालिका का बैकअप कैसे बनाएं?

उत्तर

90

उपयोग --table बताने के लिए pg_dump क्या तालिका यह बैकअप के लिए है:

pg_dump --host localhost --port 5432 --username postgres --format plain --ignore-version --verbose --file "C:\temp\filename.backup" --table public.tablename dbname

+3

और कैसे है कि बैकअप फ़ाइल को पुनर्स्थापित करने के लिए। (.backup), मैंने 'pg_restore --host localhost --port 5432 --username postgres --dbname" anydb "--table public.tablename -Ft --verbose" /path/filename.backup "का उपयोग किया लेकिन यह बाहर आया: 'pg_restore: [tar archiver] भ्रष्ट टैर हेडर - –

+8

' psql -U उपयोगकर्ता नाम-डी डेटाबेस -1 -f your_dump.sql' – rnaud

12

pg_dump -h स्थानीय होस्ट -p 5432 यू postgres -d mydb आयकर My_table> backup.sql

आप एक ही तालिका का बैकअप ले सकते हैं लेकिन मैं पूरे डेटाबेस का बैकअप लेने का सुझाव दूंगा और फिर आपको जो भी टेबल चाहिए उसे पुनर्स्थापित करने का सुझाव दूंगा। पूरे डेटाबेस का बैकअप रखना हमेशा अच्छा होता है।

9 ways to use pg_dump

+0

आपका लिंक अभी तक मर चुका है; ( – Vogel612

46

आप Ubuntu पर कर रहे हैं,

  1. अपने postgres उपयोगकर्ता के लिए लॉग इन sudo su postgres
  2. 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

+0

यदि आप चाहते हैं तो क्या होगा सभी टेबल, प्रत्येक के नाम को निर्दिष्ट किए बिना? – shekeine

+2

बस -t विकल्प को हटा दें! 'pg_dump -d <डेटाबेस_name>> file.sql' –

+2

मुझे नहीं पता कि क्यों --d विकल्प psql9.3 के लिए मान्य नहीं है और दिया गया आदेश मेरे लिए काम नहीं करता है। कार्य करना एक है ** pg_dump -U उपयोगकर्ता नाम db_name -t table_name> fileName ** –

10

उपयोग कर सकते हैं, तो आप pgAdmin तृतीय (लिनक्स/विंडोज/ओएस एक्स) का उपयोग कर सकते हैं। बस अपनी पसंद की तालिका पर राइट क्लिक करें, फिर "बैकअप"। यह आपके लिए pg_dump कमांड बनाएगा।

enter image description here

enter image description here

enter image description here

संबंधित मुद्दे