# Перенос данных из БД PostgreSQL в БД MS Access

Данная статья описывает полный процесс перехода с БД PostgreSQL в БД MS Access.

Для переноса данных из БД PostgreSQL в БД MS Access потребуется воспользоваться [утилитой переноса данных](https://rsit.ru/#load-ama).

## Пошаговая инструкция по переносу данных в БД MS Access

1. [Настроить утилиту переноса данных](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-utility-perenosa-dannykh)
2. Запустить утилиту переноса данных с помощью ярлыка #### ``Перенести данные в БД Ms Access``
    
    ![TransferUtil_ToMA_lnk.png](https://support.russianit.ru/uploads/images/gallery/2022-06/360005215499_TransferUtil_ToMA_lnk.png)  
    либо запустить утилиту из командной строки `TransferUtil.exe to-ma`
3. Скопировать базу данных MS Access из папки `to-ma\output_[дата_переноса]` в нужное вам место.
4. Запустите ПАУ и настройте подключение к базе данных MS Access [см. инструкцию по настройке рабочего места ПАУ](https://support.russianit.ru/books/pomoshchnik-arbitrazhnogo-upravliaiushchego/page/nastroika-rabochego-mesta-pau-dlia-raboty-s-bd-ms-access)

## Описание процесса переноса данных утилиты переноса данных

### Порядок переноса данных

1. Подключение к базе PostreSQL используя параметры `pg_server`, `pg_port`, `pg_dbname`, `pg_dbuser` и `pg_dbpassword` из файла конфигурации;
2. Формирование дампа исходной базы PostgreSQL. Дамп исходной базы - `postgres.ama.csv` будет расположен в папке `to-ma\output_[дата_переноса]`;
3. Создание БД MS Access `ama.mdb` в папке `to-ma\output_[дата_переноса]`;
4. Создание таблиц в соответствии со схемой данных;
5. Перенос данных из дампа БД PostgreSQL полученного ранее.
6. Завершение переноса.

### Сообщения о ходе переноса данных

<div class="table-responsive" id="bkmrk-%D0%AD%D1%82%D0%B0%D0%BF-%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5-%D0%9D%D0%B0%D1%87%D0%B0%D0%BB"><table class="table table-bordered table-striped table-condensed"><thead><tr><th>Этап</th><th>Сообщение</th></tr></thead><tbody><tr><td>Начало переноса данных из PostgreSQL в MS Access</td><td>`Начало переноса данных из БД PostgreSQL в БД MS Access`</td></tr><tr><td>Начало подключения к БД PostgreSQL</td><td>`Подключение к БД PostgreSQL`</td></tr><tr><td>Конец подключения к БД PostgreSQL</td><td>`Подключились к исходной БД PostgreSQL - ОК`</td></tr><tr><td>Получили версию схемы данных PostgreSQL</td><td>`Получили версию схемы данных из БД PostgreSQL - OK`</td></tr><tr><td>Начало формирования дампа</td><td>`Начали формировать дамп исходной БД PostgreSQL - ОК`</td></tr><tr><td>Окончание формирования дампа</td><td>`Закончили формировать дамп исходной БД - OK`</td></tr><tr><td>Создание БД MS Access</td><td>`Создали БД MS Access - OK`</td></tr><tr><td>Подключились к БД MS Access</td><td>`Подключились к БД MS Access - OK`</td></tr><tr><td>Создание таблиц согласно версии схемы данных</td><td>`Созданы таблицы согласно схеме данных - ОК`</td></tr><tr><td>Начало переноса данных из дампа БД PostgreSQL</td><td>`Начали перенос данных из дампа БД PostgreSQL`</td></tr><tr><td>Закончили переносить данных из дампа БД PostgreSQL</td><td>`Закончили перенос данных из дампа БД PostgreSQL - ОК`</td></tr><tr><td>Завершение переноса данных из PostgreSQL в MS Access</td><td>`Перенос данных из БД PostgreSQL в БД MS Access завершен`</td></tr></tbody></table>

</div>### Список сообщений об ошибках

<div class="table-responsive" id="bkmrk-%D0%A1%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BE%D0%B1-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B5-"><table class="table table-bordered table-striped table-condensed"><thead><tr><th>Сообщение об ошибке</th><th>Описание и рекомендации</th></tr></thead><tbody><tr><td>`Не удалось подключиться к исходной БД PostgreSQL - Ошибка`</td><td>Необходимо проверить параметры подключения указанные в параметрах `pg_server`, `pg_port`, `pg_dbname`, `pg_dbuser` и `pg_dbpassword`в файле конфигурации</td></tr><tr><td>`Не удалось сформировать дамп исходной БД - Ошибка`</td><td>В ходе формирования дампа исходной БД MS Access возникла ошибка, подробное описание будет указано в файле `TransferUtil.log`</td></tr><tr><td>`Не удалось создать результирующую БД MS Access - Ошибка`</td><td>Проверьте права доступа для пути *%appdata%\\RussianIT\\TransferUtil\\to-ma*</td></tr><tr><td>`Не удалось создать таблицы в БД MS Access - Ошибка`</td><td>В ходе создания необходимых таблиц в БД PostgreSQL произошла ошибка, подробное описание будет указано в файле `TransferUtil.log`</td></tr><tr><td>`Не удалось перенести данные из дампа в БД MS Access - Ошибка`</td><td>В ходе переноса данных из дампа БД PostgreSQL возникла ошибка, подробное описание будет указано в файле `TransferUtil.log`</td></tr></tbody></table>

</div>