Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Вывод в postgres  [new]
Shab
Member

Откуда: Moscow
Сообщений: 241
Добрый день!

В psql нужно вывести на экран значение переменной из анонимного блока
Примерный кусок кода здесь:
=============
do
$$
declare
 ch varchar(200);
BEGIN
  ch:='hello, world!';
  RAISE NOTICE '%', ch;
END
$$;

=============
Вывод:
NOTICE: hello, world!
DO

Вопрос: Как в выводе подавить NOTICE и DO? Есть ли подходящие другие способы печати переменной?

Спасибо

Сообщение было отредактировано: 7 апр 21, 09:19
7 апр 21, 09:26    [22305269]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в postgres  [new]
бабушкин зайчик
Member

Откуда: сетевой
Сообщений: 61
там их несколько
DEBUG, LOG, INFO, NOTICE, WARNING и EXCEPTION
я INFO юзаю

а ещё есть ASSERT

Сообщение было отредактировано: 7 апр 21, 10:51
7 апр 21, 10:58    [22305303]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в postgres  [new]
Shab
Member

Откуда: Moscow
Сообщений: 241
бабушкин зайчик,

Пример приведите, пожалуйста, так чтобы вывод был только такой:

hellow, world!

ps: Нужен оракловый эквивалент dbms_output.put_line('some string');

Сообщение было отредактировано: 7 апр 21, 11:33
7 апр 21, 11:40    [22305323]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в postgres  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4691
Shab
бабушкин зайчик,

Пример приведите, пожалуйста, так чтобы вывод был только такой:

hellow, world!

ps: Нужен оракловый эквивалент dbms_output.put_line('some string');


Такого нет потому что psql не тулза для создания GUI а админка.
Такого нет даже просто на уровне протокола базы (вывода просто текста непойми куда).

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
7 апр 21, 11:45    [22305329]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в postgres  [new]
Shab
Member

Откуда: Moscow
Сообщений: 241
Нашел orafce на git. Буду пробовать

На EnterpriseDB есть такой пакет, недаром они его сделали. Ну и "не даром" :)

Сообщение было отредактировано: 7 апр 21, 11:52
7 апр 21, 11:57    [22305333]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в postgres  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 52916
Maxim Boguk
Такого нет даже просто на уровне протокола базы (вывода просто текста непойми куда).

dbms_output.put_line() выводит не "непойми куда", а во временную таблицу, которую клиент потом может вычитывать. А может и не вычитывать.
7 апр 21, 13:31    [22305389]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в postgres  [new]
Shab
Member

Откуда: Moscow
Сообщений: 241
git orafce
make & make install
CREATE EXTENTION orafce;

и вуаля

do
$do$
declare
 ch varchar(200);
BEGIN
  ch:='hello, world!';
  perform dbms_output.serveroutput('t');
  perform dbms_output.put_line(ch);
END
$do$;


OUTPUT:

hello, world!
DO

Ну с DO поборемся или вырежем последнюю строку.
7 апр 21, 13:33    [22305390]     Ответить | Цитировать Сообщить модератору
 Re: Вывод в postgres  [new]
Shab
Member

Откуда: Moscow
Сообщений: 241
DO

убирается так

\set QUIET 1

рекомендую группу orafce-general@googlegroups.com, ответил по существу pavel.stehule@gmail.com

Сообщение было отредактировано: 7 апр 21, 13:40
7 апр 21, 13:46    [22305398]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить