Миграция с Mysql на PostgreSQL, как отключить проверку ключей?
Добрый день!
Нужно перенести бд Django с Mysql на PostgreSQL.
С PostgreSQL ни когда не работал.
Наткнулся на Python библиотеку mysql2pgsql.
Установил, настроил, получилось бд работает!
Но для верности хочу:
1. Из бд которая получилась с помощью mysql2pgsql, сделать дамп только с данными.
2. С помощью Django migrate создать чистую бд.
3. Залить в чистую бд данные с mysql2pgsql.
Как сделать бекап чисто с данными я нашел в доках, только не могу понять как отключить проверку внешних ключей (как в MySQL), а то при импорте возникают ошибки и ни чего не заливается?!
Как в mysql не получится, для этого postgres-у нужны особые права пользователя и тогда можно у всех таблиц отключить триггеры.
Но более простой вариант сделать все внешние ключи DEFERRABLE, так что при импорте данных мы можем просто обернуть это дело в транзакцию, и проверка целостности данных будет произведена только после коммита оной.
Андрей: это установка начального значения последовательностей. В мускуле это аналог начального значения для богомерзского автоинкремента таблицы, в постгресе же все это отдельная сущность (последовательности).