Sql copy
Копирование SQL таблиц через консоль
Надо было мне как-то скопировать таблицу из gitlab с одной машины на другую, при этом там часть значений надо было поменять, чтобы не сломалась она в новом месте.
Вот такую нашёл последовательность действий
# https://www.postgresql.org/docs/current/sql-copy.html - откуда были почерпнуты знания
# COPY country TO STDOUT (DELIMITER '|'); - вот такой пример был в доке
gitlab-rails dbconsole --database main # Заходим в консоль postgres базы гитлаба
select * from container_repositories; # Смотрим значения
copy container_repositories to stdout ; # выводим в консоль базу, копируем её в файл
# редактируем руками, самое главное не сломать ничего. Если бы база была сильно большая, то руками
# бы не решился это делать
vim file
# Вставляем в базу на новом сервере
COPY container_repositories FROM STDIN DELIMITER ',' CSV HEADER;
Ну и всегда после таких действий надо иметь представление, что надо будет проверить, чтобы убедиться в правильности. Если что, можно всегда таблицу пересоздать в крайнем случае.
#linux #gitlab #sql