psql — это программа для интерактивной работы с запросами входящая в состав установочных дистрибутивов субд PostgreSQL.
Изначально PostgreSQL позиционируется как субд заточенная под использование на unix системах. Вариант работы в Windows несколько отличается. При работе с программой psql мы можем передавать запросы, к примеру, получив их из файла или передавать в качестве аргументов в командной строке.
- Получение запросов из файла вывод на экран
- Получение запросов из файла вывод в файл
- Получение запросов в аргументах через CMD
Основным отличием этих вариантов работы является то, что, передавая запрос в качестве аргумента, можно выполнить лишь 1 запрос. В то же время используя файл мы можем запустить выполнение нескольких запросов. Результатом выполнения в обоих случаях будет вывод на экран или в файл ответа на запрос.
Для выполнения запросов с использованием psql переходим папку куда устанавливали PostgreSQL в каталог bin у меня это — C:\Program Files\PostgreSQL\11.9-1.1C\bin> и начинаем набирать команды. Дальше по тексту примеры будут указаны с учетом того, что вы в консоли перешли в указанный выше каталог командой cd
Вариант с получением запросов из файла предполагает поочередное выполнение запросов, которые предварительно записаны в какой-то файл. Например:

В обычном текстовом редакторе создаем 2 запроса.
Каждый запрос может занимать несколько строк, наличие точки с запятой означает конец запроса.
В запросе мы обращаемся к стандартной таблице PostgreSQL в которой хранятся все параметры сервера. Общий вид строки с командами у меня получился такой:
psql.exe —dbname test —username postgres -f «D:/psqlscript.txt»
psql.exe — файл программы
—dbname — имя базы данных к которой обращаемся
—username — пользователь
-f — ключ указывающий, что запросы в файле.
Результат выполнения:

Каждый запрос выполнился по отдельности и результат выполнения был выведен на экран.
Тот же вариант с выводом результатов в отдельный файл может понадобиться для удобства просмотра результата. Так как в окно консоли мало что влезает, а в текстовом файле будет как горизонтальная так и вертикальная прокрутка(скрол). К предыдущей команде добавляем вывод:
psql.exe —dbname test —username postgres -f «D:/psqlscript.txt» > «D:/123.txt»
Рассмотрим вариант взаимодействия с psql через стандартную консоль CMD.
Чтобы передать запрос в качестве аргумента или опции программы psql.exe необходимо видоизменить предыдущую строку команд, вместо ключа -f, надо указать ключ —command и через пробел в двойных кавычках написать запрос.
psql.exe —dbname test —username postgres —command «select * from pg_settings where name=’data_directory’;»
результатом выполнения данной команды будет «каша» на экране, в которой сложно ориентироваться:

Данный результат очень сложно анализировать, количество колонок так велико, что занимает больше 3х строк в командной строке. Для удобства воспользуемся выводов результата в файл

Теперь все отлично видно и можно нормально проанализировать всю информацию по параметру, который нас интересовал.