2010-05-18 10 views
69

के भीतर केवल एक तालिका से सम्मिलित बयान प्राप्त करने के लिए pg_dump का उपयोग करके मैं INSERTpg_dump का उपयोग कर डेटाबेस के भीतर एक विशिष्ट तालिका से सभी पंक्तियों को पोस्टग्रेएसक्यूएल में प्राप्त करने का एक तरीका ढूंढ रहा हूं।डेटाबेस

उदा।, मेरे पास तालिका ए और तालिका में सभी पंक्तियां हैं I मुझे INSERT कथन के रूप में चाहिए, इसे उन बयानों को फ़ाइल में भी डंप करना चाहिए।

क्या यह संभव है?

उत्तर

134

अगर संस्करण < 8.4.0

pg_dump -D -t <table> <database> 

-t से पहले -a जोड़े यदि आप केवल आवेषण चाहते हैं, बिना CREATE TABLE आदि पहली जगह में मेज सेट करने के लिए।

संस्करण> = 8.4.0

pg_dump --column-inserts --data-only --table=<table> <database> 
+42

-d और -D विकल्पों को PostgreSQL 8.4 से हटा दिया गया था (8.4.0 रिलीज नोट देखें)। अब आपको "लंबे" नामों का उपयोग करना होगा: pg_dump --column-inserts --डेटा-केवल --table =

11

आप एक .sql फ़ाइल में अपने आवेषण फेंक चाहते हैं:

  1. cd स्थान पर है जो आप होने के लिए .sql फ़ाइल करना चाहते हैं
  2. pg_dump --column-inserts --data-only --table=<table> <database> > my_dump.sql

> my_dump.sql कमांड नोट करें। यह सबकुछ नामक एक एसक्यूएल फाइल में रखेगा my_dump