Найти тему
Phoin

Миграция базы данных SQLite в PostgreSQL с PGLoader

Данная статья расскажет о том как выполнить миграцию базы данных SQLite в PostgreSQL с помощью консольной утилиты PGLoader. Для начала установим сам PGLoader тут у нас есть два варианта первый с помощью пакета если у нас дистрибутив Ubuntu/Debian и им подобные:

sudo apt install pgloader

Есть вариант номер два здесь придется разворачивать утилиту в докере, но докер не касается тематики данной статьи поэтому этот вариант пропустим.

Для начала работы необходимо чтобы в системе были установлены пакеты postgresql и sqlite так как sqlite используется для того чтобы открыть базу данных, а сам postgresql чтобы было куда импортировать базу данных.

Теперь перейдем к самому алгоритму:

1) Создадим пустую базу данных куда будем импортировать базу sqlite

откроем консоль psql и создадим базу данных

CREATE DATABASE newbase;

2) Далее создадим конфиг файл по которому будет произведена миграция

создадим файл import.conf

с таким содержанием(где chinook это база данных SQLite):

скрипт миграции
скрипт миграции

3) Для дальнейшей работы перенесем файл базы данных SQLite chinook.db в домашнюю директорию postgresql(у меня это /var/lib/postgresql)

Сюда же перенесем скрипт миграции import.conf

4) Перейдем в домашнюю директорию postgresql

5) Теперь можно запустить утилиту pgloader(Уточнение запускать будем под пользователем существующим в postgresql, у меня это пользователь postgres)

sudo -u postgres pgloader import.conf

После этого запуститься утилита и произойдет миграция базы данных в PostgreSQL, на экране появится похожий лог.

лог утилиты PGLoader
лог утилиты PGLoader

На этом все сделано для проверки можно подключиться к базе данных postgresql(через консоль psql) и выполнить sql запрос.

С подпиской рекламы не будет

Подключите Дзен Про за 159 ₽ в месяц