Покажу вам как работает консоль psql. Как записать вывод записей базы PostgreSQL в тестовой файл? Для этого вам нужно создать папку с нужными правами. Если прав не будет хватать, то консоль psql не сможет записать вывод в файл. Воспользуйтесь утилитой chown. Сначала создайте файл. Потом перенаправьте вывод записей в файл. Теперь выполните sql-запрос. Для примера используйте простой SELECT. Далее прочтите файл при помощи команды cat. Приступим! Если не знаете как войти в консоль psql, то читайте статью как создать базу данных постгрес на linux сервере Debian Ubuntu.
#накидываем права на папку:
#sudo chown пользователь:группа папка
sudo chown postgres:postgres /home/work/postgres/
#копируется sql в файл
\w /home/work/postgres/sql.sql
#запись вывода результата запроса в файл
\o /home/work/postgres/sql.sql
#выборка из данных, будет пустой вывод
select * from user;
#проверка записей в файле
cat sql.sql
Теперь обратная задача - выполнить sql-запросы постгрес из текстового файла. Сперва создайте файл с простым названием и поместите в него несколько запросов. Есть интересная особенность - sql-запросов в файле может быть несколько штук. Обязательно ставьте ; после каждого SQL-запроса. Далее прочтите файл и запустите SQL-запросы в консоли при помощи \i файл. Если SQL-запрос грамотно составлен, то вы увидите результат работы запроса SQL.
#создадим файл
touch now.sql
echo 'select now();
select now();
select now();
select now();
select now();' > now.sql
#читаем из файла
\i /home/work/postgres/now.sql
#вывод:
now
-------------------------------
2018-11-29 22:39:16.107061+00
(1 строка)