Re: print in plpython not appearing in logs

Поиск
Список
Период
Сортировка
От Ludwig Isaac Lim
Тема Re: print in plpython not appearing in logs
Дата
Msg-id 893661785.901171.1670208140915@mail.yahoo.com
обсуждение исходный текст
Ответ на Re: print in plpython not appearing in logs  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general


Hi Tom:


>> I'm having problems wherein my print() statements inside my plpython stored proc are not appearing in postgresql
log.I tried setting the file=sys.stderr 


> Hmm.  I can tell you that with "logging_collector = on", I would only expect the logs to capture stderr output, not
stdout. So it makes 
> sense to me that plain "print" would disappear into the bit bucket. But if you specify stderr output, it ought to
work. I don't know 
> enough Python to know why it's not working, but it seems to me this is primarily a Python question not a Postgres
question. Maybe you need 
> an explicit fflush-equivalent step?  Dunno.

>            regards, tom lane

As usual, thank you for pointing out where problem lies.

I made it work by adding flush=True flag to the print() statement.

print("oink oink", file=sys.stderr, flush=True)

I was under the wrong impression that output to stderr are automatically flushed.

Thank you once again.

Regards,
Ludwig



В списке pgsql-general по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Libpq linked to LibreSSL
Следующее
От: shashidhar Reddy
Дата:
Сообщение: Re: plpgsql_check_function issue after upgrade