У меня есть SQL команды в PosgreSQL
В общем, две машины (возможно, под управлением Linux) и два процесса затем участвуют, поскольку PostGreSQL имеет конструкцию клиент-сервер. RDBMS работает на одном компьютере (в одном или нескольких процессах) и прослушивает соединения сокетов и обрабатывает запросы на них, поэтому каждая команда SQL имеет свой собственный запрос. client работает на какой-либо другой машине (в общем случае, в некоторых случаях это может быть компьютер) и использует библиотеку libpq
или некоторую оболочку над ней. Клиент и сервер взаимодействуют с использованием сокетов TCP/IP, например. некоторые кабели Ethernet.
Есть ли способ, чтобы распечатать информацию на стандартный вывод после операции
Но который стандартный вывод? На сервере (PostGreSQL) или на клиентском компьютере?
(сервер и клиент выше, понимается в смысле PostGreSQL, если вы кодирования веб-приложения, например, в PHP - или в OCaml с Ocsigen - это, вероятно, действует и как сервер HTTP и как клиент PostGreSQL)
Если вы хотите напечатать пользовательское сообщение на клиентском, вам нужно изменить команду SQL, чтобы получить список ответов (поэтому ваша команда SQL может быть сложной SELECT
). Затем вы можете добавить printf
после каждой строки, полученной с сервера. Прочтите главу на странице asynchronous command processing (в документации libpq
клиентской библиотеки), в которой объясняется, как получить каждую строку по одной и обрабатывать ее.
Если вы хотите напечатать специальное сообщение на сервер машине , следует помнить, что стандартный вывод сервера может быть перенаправлен на /dev/null
. В этом случае рассмотрите некоторые server programming interface или некоторые SQL extensions.
После того, как вы уже поняли, на какой стороне (client or server, w.r.t. PostGreSQL) вы хотите стандартный вывод сообщение произойдет, вы можете запрограммировать его соответствующим образом.
почему '|| col_b1'? – Jodooomi
Если вы хотите напечатать значение col_b1 с помощью своего сообщения, вы можете его использовать. –
Если вы не хотите печатать какие-либо значения столбцов, удалите '|| col_b1' –