load database from mysql://root@localhost/sakila?sslmode=disable into postgresql:///sakila -- WITH include drop, create tables, no truncate, -- create indexes, reset sequences, foreign keys -- WITH batch rows = 10000 WITH on error stop, concurrency = 2, workers = 6, prefetch rows = 25000, multiple readers per thread, rows per range = 50000, max parallel create index = 4-- , -- quote identifiers SET PostgreSQL PARAMETERS maintenance_work_mem to '128MB', work_mem to '12MB', search_path to 'sakila, public, "$user"' SET MySQL PARAMETERS net_read_timeout = '120', net_write_timeout = '120' CAST type date drop not null drop default using zero-dates-to-null, type datetime to timestamp drop default drop not null using zero-dates-to-null -- type tinyint to boolean using tinyint-to-boolean, -- type year to integer drop typemod -- now a default -- MATERIALIZE VIEWS film_list, staff_list MATERIALIZE ALL VIEWS ALTER TABLE NAMES MATCHING ~/_list$/, 'sales_by_store', ~/sales_by/ SET SCHEMA 'mv' ALTER TABLE NAMES MATCHING 'sales_by_store' RENAME TO 'sales_by_store_list' ALTER TABLE NAMES MATCHING 'film' RENAME TO 'films' ALTER TABLE NAMES MATCHING ~/./ SET (fillfactor='40') ALTER SCHEMA 'sakila' RENAME TO 'pagila' -- INCLUDING ONLY TABLE NAMES MATCHING ~/film/, 'actor' -- EXCLUDING TABLE NAMES MATCHING ~ BEFORE LOAD DO $$ create schema if not exists pagila; $$, $$ create schema if not exists mv; $$, $$ alter database sakila set search_path to pagila, mv, public; $$;