Загрузка справочников

Загрузка справочников #

Все справочники могут быть загружены с SFTP сервера storage.apidq.io (порт 65110).

Справочники лежат в папках по имени схемы базы данных, имя файла содержит дату выпуска: <schema>/<schema>_<YYYYMMDD>.dump, например ru/ru_20260907.dump.

Точные версии справочников, необходимые для конкретной версии ApiDQ, указаны в блоке Требования к версиям справочников на странице История изменений.

Существует несколько способов подключения к SFTP:

CLI - интерфейс командной строки. Все современные операционные системы оснащены программой SFTP CLI, позволяющей пользователям вводить текстовые команды для связи с сервером SFTP.

GUI - графический пользовательский интерфейс, который позволяет вам загружать и выгружать файлы с помощью более удобного графического интерфейса. Самыми популярными клиентами SFTP с графическим интерфейсом являются Filezilla и Cyberduck.

Programming libraries - Существует ряд стандартных библиотек программирования практически для любого языка программирования, которые позволяют программистам взаимодействовать с серверами SFTP в своем коде.

CLI #

Создайте папку для справочников и перейдите в неё - команды восстановления в следующих инструкциях выполняются из этой папки.

mkdir -p ~/apidq/dumps
cd ~/apidq/dumps

Подключение к SFTP серверу

sftp -P65110 sftp_login@storage.apidq.io
Замените sftp_login на логин доступа к SFTP серверу

После подключения вы увидите доступные вам справочники и их версии.

sftp> ls
by        kz        ru        services  ua
sftp> ls services
services/services_20241030.dump

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

sftp> get services/services_20241030.dump
Fetching /services/services_20241030.dump to services_20241030.dump
/services/services_20241030.dump                             100%   25KB 338.5KB/s   00:00

Загрузка без интерактивного режима #

Для загрузки из скриптов удобно использовать lftp: он принимает пароль из переменной окружения и не перекачивает уже загруженный файл.

sudo apt install lftp
mkdir -p ~/apidq/dumps

export LFTP_PASSWORD='sftp_password'
lftp -u sftp_login --env-password -p 65110 sftp://storage.apidq.io \
  -e "set sftp:auto-confirm yes; get -c -O ~/apidq/dumps ru/ru_20260907.dump; bye"

Проверка загруженного файла #

Справочник адресов России занимает несколько гигабайт, поэтому после загрузки убедитесь, что файл не повреждён и загружен полностью. Команда читает архив целиком (для справочника ru - несколько минут) и ничего не меняет в базе данных:

cd ~/apidq/dumps
pg_restore -f /dev/null ru_20260907.dump && echo OK
Команда pg_restore -l для такой проверки не подходит: она читает только оглавление в начале файла и не заметит, что загрузка оборвалась на середине.
Выполняйте проверку до удаления старого справочника из базы данных - см. Обновление и восстановление

GUI #

WinSCP - отличный клиент FTP и SFTP для Windows. Вы можете начать копирование файлов между удаленным сервером и локальным компьютером, используя протоколы SFTP, FTP, WebDAV, SCP или S3.

FileZilla это минималистичное решение FTP, которое можно использовать бесплатно. Это решение с открытым исходным кодом доступно по лицензии GNU GPL и поддерживает FTP через TLS и SFTP. Это безопасный и быстрый кроссплатформенный FTP-клиент с множеством ценных функций.

Cyberduck - отличный бесплатный сервер, который также работает как браузер облачного хранилища на устройствах Windows и Mac. Он поддерживает FTP, SFTP, Amazon S3, WebDAV, OpenStack Swift, Azure и OneDrive, Dropbox и Google Drive.