Перенос данных из БД MS Access в БД PostgreSQL
Данная статья описывает полный процесс перехода с БД MS Access в БД PostgreSQL.
Для переноса данных из MS Access в PostgreSQL потребуется воспользоваться утилитой переноса данных.
Пошаговая инструкция по переносу данных в БД PostgreSQL
- Настроить утилиту переноса данных
- Создать пустую базу данных PostgreSQL см. инструкцию по созданию БД PostgreSQL
- Запустить утилиту переноса данных с помощью ярлыка
Перенести данные в БД PostgreSQL
либо запустить утилиту из командной строкиTransferUtil.exe to-pg - Запустите ПАУ и настройте подключение к базе данных PostgreSQL см. инструкцию по настройке рабочего места ПАУ
Описание процесса переноса данных утилиты переноса данных
Порядок переноса данных
- Подключение к базе данных MS Access указанной в файле конфигурации в параметре
ma_dbpath; - Формирование дампа исходной базы данных MS Access. Дамп исходной базы данных -
access.ama.csvбудет расположен в папкеto-pg\output_[дата_переноса]\access.ama.csv; - Подключение к СУБД PostgreSQL используя параметры
pg_server,pg_port,pg_dbname,pg_dbuserиpg_dbpasswordиз файла конфигурации; - Проверка существования БД;
- Проверка версии схемы данных БД, в том случае, если БД уже существует;
- Создание таблиц в соответствии со схемой данных;
- Перенос данных из дампа БД MS Access, полученного ранее.
- Завершение переноса.
Сообщения о ходе переноса данных
| Этап | Сообщение |
|---|---|
| Начало переноса данных из MS Access в PostgreSQL | Начало переноса данных из БД MS Access в БД PostgreSQL |
| Проверка наличия БД MS Access | Проверка наличия БД MS Access |
| БД MS Access существует | БД MS Access существует - ОК |
| Получаем версию схемы данных базы MS Access | Получили версию схемы данных из БД MS Access - OK |
| Начало подключения к БД MS Access | Подключение к исходной БД MS Access |
| Конец подключения к БД MS Access | Подключились к исходной БД MS Access - ОК |
| Начало формирования дампа | Начали формировать дамп исходной БД - ОК |
| Окончание формирования дампа | Дамп исходной БД сформирован - ОК |
| Начало проверки существования БД PostgreSQL | Проверка наличия БД PostgreSQL |
| Конец проверки существования БД PostgreSQL | БД PostgreSQL существует - ОК |
| Подключение к СУБД PostgreSQL | Подключились к СУБД PostgreSQL |
| Получение номера версии БД PostgreSQL | Получили версию схемы данных из БД PostgreSQL - OK |
| Проверка версии схемы данных БД | Проверка версии схемы данных БД |
| По результату проверки версии схем данных совпадают | Версии схем данных совпадают - ОК |
| По результату проверки версии схем, выявлено, что БД PostgreSQL пустая и туда можно переносить данные | БД PostgreSQL пустая |
| Создание таблиц согласно версии схемы данных | Созданы таблицы согласно схеме данных - ОК |
| Начало переноса данных из дампа БД MS Access | Начали переносить данные из дампа БД |
| Закончили переносить данных из дампа БД MS Access | Закончили переносить данные из дампа БД MS Access - ОК |
| Завершение переноса данных из MS Access в PostgreSQL | Перенос данных завершен |
Список сообщений об ошибках
| Сообщение об ошибке | Описание и рекомендации |
|---|---|
Нет файла БД MS Access - Ошибка |
Проверьте права доступа для пути %appdata%\RussianIT\TransferUtil\to-pg |
Не удалось подключиться к исходной БД MS Access - Ошибка |
Не удалось подключиться к исходной БД MS Access, указанной в параметре ma_dbpath файла конфигурации, необходимо проверить наличие файла БД |
Введёны неверные логин и пароль пользователя - Ошибка |
Необходимо проверить параметры подключения указанные в параметрах pg_dbuser и pg_dbpassword в файле конфигурации |
Нет доступа к СУБД PostgreSQL - Ошибка |
Необходимо проверить параметры подключения в конфиге pg_hba.conf |
Не удалось подключиться к СУБД PostgreSQL - Ошибка |
Необходимо проверить параметры подключения указанные в параметрах pg_server, pg_port, pg_dbname, pg_dbuser и pg_dbpassword в файле конфигурации |
БД PostgreSQL не существует - Ошибка |
БД PostgreSQL не создана, необходимо создать БД согласно инструкции |
Версии схем данных не совпадают - Ошибка |
БД PostgreSQL уже была создана ранее и её версия отличается от версии БД MS Access, необходимо обновить уже существующую БД PostgreSQL в ПАУ, либо очистить базу, а затем произвести перенос. |
Не удалось сформировать дамп исходной БД - Ошибка |
В ходе формирования дампа исходной БД MS Access возникла ошибка, подробное описание будет указано в файле TransferUtil.log |
Не удалось создать таблицы в БД PostgreSQL - Ошибка |
В ходе создания необходимых таблиц в БД PostgreSQL произошла ошибка, подробное описание будет указано в файле TransferUtil.log |
Не удалось перенести данные из дампа в БД PostgreSQL - Ошибка |
В ходе переноса данных из дампа БД MS Access возникла ошибка, подробное описание будет указано в файле TransferUtil.log |