Мне нужно запустить некоторые команды, которые не являются частью SQL, например: \d
(описать)
Обычно такие команды запускаются при первом подключении к базе данных с помощью клиента psql в командной строке.
Но теперь мне нужно сделать это программно, используя скрипт. Как я могу это сделать? Я знаю о exec(), но psql не является нормальной командой. Он открывает клиент в консоли, а THEN запускает ваши команды. Вид вроде ssh.
Опция -c решила ее.
psql [...] -o output.txt -c "\d mytable"
psql databasename <inputfile >outputfile
работает как положено. (но вам нужно будет процитировать обратную косую черту в какой-то момент (ы))