pá 12. 5. 2023 v 17:50 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
Pavel Stehule <pavel.stehule@gmail.com> writes: > pá 12. 5. 2023 v 15:26 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal: >> Oh! AFAICS, we don't do any of those things, but I agree it seems like >> a good idea. Can you confirm that if you unset PSQL_WATCH_PAGER then >> the test passes for you?
> yes, I tested it now, and unset PSQL_WATCH_PAGER fixed this issue.
OK. So after looking at this a bit, the reason PAGER and PSQL_PAGER don't cause us any problems in the test environment is that they are not honored unless isatty(fileno(stdin)) && isatty(fileno(stdout)). It seems to me that it's a bug that there is no such check before using PSQL_WATCH_PAGER. Is there actually any defensible reason for that?
Theoretically, we can write tests for these features, and then stdout, stdin may not be tty.
Except for testing, using pager in non-interactive mode makes no sense.
Regards
Pavel
I think we do need to clear out all three variables in Cluster::interactive_psql. But our regular psql tests shouldn't be at risk here.