sql >> Database teknologi >  >> RDS >> Mysql

Er der en måde at lave en SQL-dump fra Amazon Redshift

pg_dump af skemaer har måske ikke virket tidligere, men det gør det nu.

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

FORHOLDSREGLER: pg_dump producerer stadig en postgres-specifik syntaks og forsømmer også Redshift SORTKEY og DISTSTYLE definitioner for dine tabeller.

En anden anstændig mulighed er at bruge den offentliggjorte AWS admin script visninger til at generere din DDL. Det håndterer SORTKEY/DISTSTYLE, men jeg har fundet ud af, at det er buggy, når det kommer til at fange alle UDENLANDSKE NØGLER, og håndterer ikke tabeltilladelser/ejere. Dit kilometertal kan variere.

For at få et dump af selve dataene skal du stadig bruge UNLOAD kommando på hvert bord desværre.

Her er en måde at generere det på. Vær opmærksom på, at select * syntaks vil mislykkes, hvis din destinationstabel ikke har samme kolonnerækkefølge som din kildetabel:

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. MySQL vs. MongoDB

  2. Forhindrer brug af WordPress get_results()-databasefunktionen sql-injektion

  3. EF 4, hvordan man tilføjer delklasser

  4. Gratis ES til 11.2.0.4 og 12.2 Udgivelsesdato