Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या Amazon Redshift से SQL डंप करने का कोई तरीका है?

pg_dump हो सकता है कि स्कीमा ने अतीत में काम नहीं किया हो, लेकिन अब यह काम करता है।

pg_dump -Cs -h my.redshift.server.com -p 5439 database_name > database_name.sql

कैविएट एम्पटोर: pg_dump अभी भी कुछ पोस्टग्रेज विशिष्ट सिंटैक्स उत्पन्न करता है, और Redshift SORTKEY . की भी उपेक्षा करता है और DISTSTYLE आपकी तालिकाओं के लिए परिभाषाएँ।

एक और अच्छा विकल्प है प्रकाशित AWS का उपयोग करना व्यवस्थापक स्क्रिप्ट दृश्य अपना डीडीएल जनरेट करने के लिए। यह SORTKEY/DISTSTYLE को संभालता है, लेकिन जब सभी विदेशी कुंजियों को कैप्चर करने की बात आती है, तो मुझे यह छोटी गाड़ी लगती है, और तालिका अनुमतियों/मालिकों को संभालती नहीं है। आपका मिलेज भिन्न हो सकता है।

डेटा का डंप प्राप्त करने के लिए, आपको अभी भी का उपयोग करना होगा। UNLOAD आदेश दुर्भाग्य से प्रत्येक टेबल पर।

इसे उत्पन्न करने का एक तरीका यहां दिया गया है। ध्यान रखें कि select * यदि आपकी गंतव्य तालिका में आपकी स्रोत तालिका के समान कॉलम क्रम नहीं है, तो सिंटैक्स विफल हो जाएगा:

select
  ist.table_schema,
  ist.table_name,
  'unload (''select col1,col2,etc from "' || ist.table_schema || '"."' || ist.table_name || '"'')
to ''s3://SOME/FOLDER/STRUCTURE/' || ist.table_schema || '.' || ist.table_name || '__''
credentials ''aws_access_key_id=KEY;aws_secret_access_key=SECRET''
delimiter as '',''
gzip
escape
addquotes
null as ''''
--encrypted
--parallel off
--allowoverwrite
;'
from information_schema.tables ist
where ist.table_schema not in ('pg_catalog')
order by ist.table_schema, ist.table_name
;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में प्रति उपयोगकर्ता अधिकतम 3 आइटम कैसे चुनें?

  2. MySQL रो लेवल लॉक्स

  3. कोडइग्निटर - 0 के बजाय फॉर्म से मूल्य को न्यूल के रूप में कैसे पोस्ट करें

  4. MySQL में अद्वितीय बाधा कैसे लागू करें?

  5. डेटाबेस में सभी तालिकाओं को बदलें