Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy istnieje sposób na wykonanie zrzutu SQL z Amazon Redshift?

pg_dump schematów może nie działało w przeszłości, ale teraz działa.

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

WYPŁACA GROTA: pg_dump nadal tworzy pewną składnię specyficzną dla Postgresa, a także pomija Redshift SORTKEY i DISTSTYLE definicje dla twoich tabel.

Inną przyzwoitą opcją jest korzystanie z opublikowanego AWS widoki skryptu administratora do generowania DDL. Obsługuje SORTKEY/DISTSTYLE, ale uważam, że jest to błędne, jeśli chodzi o przechwytywanie wszystkich FOREIGN KEY, i nie obsługuje uprawnień/właścicieli tabeli. Twój przebieg może się różnić.

Aby uzyskać zrzut samych danych, nadal musisz użyć UNLOAD polecenie na każdym stole niestety.

Oto sposób na jego wygenerowanie. Pamiętaj, że select * składnia nie powiedzie się, jeśli tabela docelowa nie ma takiej samej kolejności kolumn jak tabela źródłowa:

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. Przygotowane zestawienia MySQL z listą zmiennych o zmiennym rozmiarze

  2. MySQL C++ Connector nierozwiązany zewnętrzny symbol _get_driver_instance

  3. Przekieruj na stronę główną po zalogowaniu do php

  4. Doktryna 2 Zamknij połączenie

  5. Zaktualizuj tabelę MySQL z pliku lokalnego