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