Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah ada cara untuk melakukan dump SQL dari Amazon Redshift

pg_dump skema mungkin tidak berfungsi di masa lalu, tetapi sekarang berhasil.

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

PERINGATAN EMPTOR: pg_dump masih menghasilkan beberapa sintaks khusus postgres, dan juga mengabaikan SORTKEY Red Redshift dan DISTSTYLE definisi untuk tabel Anda.

Opsi lain yang layak adalah menggunakan AWS yang diterbitkan tampilan skrip admin untuk menghasilkan DDL Anda. Ini menangani SORTKEY/DISTSTYLE, tetapi saya merasa itu bermasalah ketika harus menangkap semua KUNCI ASING, dan tidak menangani izin/pemilik tabel. Mileage Anda mungkin berbeda.

Untuk mendapatkan dump data itu sendiri, Anda masih perlu menggunakan UNLOAD perintah di setiap meja sayangnya.

Berikut cara untuk menghasilkannya. Ketahuilah bahwa select * sintaks akan gagal jika tabel tujuan Anda tidak memiliki urutan kolom yang sama dengan tabel sumber Anda:

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. PHP:mysql v mysqli v pdo

  2. Menampilkan hasil dari query MySQL ke dalam tabel menggunakan PHP

  3. Server NodeJS dengan mysql hang

  4. Kapan menggunakan NULL di tabel MySQL

  5. Menghasilkan entitas dari database