Копирование и заполнение таблицы с локальной машины
Статья создана
Обновлена 23 октября 2023 г.
Вы можете как скопировать данные из таблицы в локальный файл, так и заполнить таблицу данными из локального файла с помощью интерактивного терминала psql
Перед началом работы
-
Установите зависимости:
sudo apt update && sudo apt install --yes postgresql-client
Скопировать данные из таблицы
Чтобы скопировать данные из таблицы в файл, выполните команду:
psql "host=c-<идентификатор_кластера>.rw.mdb.yandexcloud.net \
port=6432 \
sslmode=verify-full \
dbname=<имя_БД> \
user=<имя_пользователя> \
target_session_attrs=read-write" \
-c "\copy (SELECT * FROM <имя_таблицы>) to stdout (DELIMITER '<символ_разделителя>')" \
>> <имя_локального_файла>
Заполнить таблицу данными
Примечание
Таблица для заполнения должна быть создана заранее. Количество столбцов и типы данных в локальном файле должны совпадать с параметрами таблицы Managed Service for PostgreSQL.
Чтобы заполнить таблицу данными из локального файла, выполните команду:
cat <имя_локального_файла> | \
psql "host=c-<идентификатор_кластера>.rw.mdb.yandexcloud.net \
port=6432 \
sslmode=verify-full \
dbname=<имя_БД> \
user=<имя_пользователя> \
target_session_attrs=read-write" \
-c "COPY <имя_таблицы> FROM stdin (DELIMITER '<символ_разделителя>')"