Mysql
 sql >> база данни >  >> RDS >> Mysql

Има ли начин да се направи SQL дъмп от Amazon Redshift

pg_dump на схеми може да не са работили в миналото, но сега работи.

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

ПРЕДУПРЕЖДЕНИЕ EMPTOR: pg_dump все още произвежда някакъв синтаксис, специфичен за postgres, и също така пренебрегва Redshift SORTKEY и DISTSTYLE дефиниции за вашите таблици.

Друга достойна опция е да използвате публикувания AWS изгледи на администраторски скрипт за генериране на вашия DDL. Той обработва 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. Защо mysqldump с единична транзакция е по-последователен от този без?

  2. MySQL срещу MySQLi при използване на PHP

  3. Sql проста работа за начинаещи

  4. MySQL ОПТИМИЗИРА всички таблици?

  5. Фалшифициране на автоматично увеличение на таблица в MySQL с помощта на Trigger