# Перенос данных из БД MS Access в БД PostgreSQL Данная статья описывает полный процесс перехода с БД MS Access в БД PostgreSQL. Для переноса данных из MS Access в PostgreSQL потребуется воспользоваться [утилитой переноса данных](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/ustanovka-utility-perenosa-dannykh). ## Пошаговая инструкция по переносу данных в БД PostgreSQL 1. [Настроить утилиту переноса данных](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-utility-perenosa-dannykh) 2. Создать пустую базу данных PostgreSQL [см. инструкцию по созданию БД PostgreSQL](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-subd-postgresql) 3. Запустить утилиту переноса данных с помощью ярлыка `Перенести данные в БД PostgreSQL` ![TransferUtil_ToPG_lnk.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360005168020_TransferUtil_ToPG_lnk.png) либо запустить утилиту из командной строки `TransferUtil.exe to-pg` 4. Запустите ПАУ и настройте подключение к базе данных PostgreSQL [см. инструкцию по настройке рабочего места ПАУ](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-rabochego-mesta-pau-dlia-raboty-s-subd-postgresql) ## Описание процесса переноса данных утилиты переноса данных ### Порядок переноса данных 1. Подключение к базе данных MS Access указанной в файле конфигурации в параметре `ma_dbpath`; 2. Формирование дампа исходной базы данных MS Access. Дамп исходной базы данных -`access.ama.csv` будет расположен в папке `to-pg\output_[дата_переноса]\access.ama.csv`; 3. Подключение к СУБД PostgreSQL используя параметры `pg_server`, `pg_port`, `pg_dbname`, `pg_dbuser`и `pg_dbpassword` из файла конфигурации; 4. Проверка существования БД; 5. Проверка версии схемы данных БД, в том случае, если БД уже существует; 6. Создание таблиц в соответствии со схемой данных; 7. Перенос данных из дампа БД MS Access, полученного ранее. 8. Завершение переноса. ### Сообщения о ходе переноса данных
ЭтапСообщение
Начало переноса данных из 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 не создана, необходимо создать БД согласно [инструкции](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-subd-postgresql)
`Версии схем данных не совпадают - Ошибка`БД PostgreSQL уже была создана ранее и её версия отличается от версии БД MS Access, необходимо обновить уже существующую БД PostgreSQL в ПАУ, либо очистить базу, а затем произвести перенос.
`Не удалось сформировать дамп исходной БД - Ошибка`В ходе формирования дампа исходной БД MS Access возникла ошибка, подробное описание будет указано в файле `TransferUtil.log`
`Не удалось создать таблицы в БД PostgreSQL - Ошибка`В ходе создания необходимых таблиц в БД PostgreSQL произошла ошибка, подробное описание будет указано в файле `TransferUtil.log`
`Не удалось перенести данные из дампа в БД PostgreSQL - Ошибка`В ходе переноса данных из дампа БД MS Access возникла ошибка, подробное описание будет указано в файле `TransferUtil.log`