Данная статья расскажет о том как выполнить миграцию базы данных 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, на экране появится похожий лог.
На этом все сделано для проверки можно подключиться к базе данных postgresql(через консоль psql) и выполнить sql запрос.