pá 12. 5. 2023 v 10:31 odesílatel Pavel Stehule <pavel.steh...@gmail.com> napsal:
> > > pá 12. 5. 2023 v 9:46 odesílatel Alvaro Herrera <alvhe...@alvh.no-ip.org> > napsal: > >> On 2023-May-12, Pavel Stehule wrote: >> >> > It hangs in perl >> >> I wonder if "hanging" actually means that it interpreted the sleep time >> as a very large integer, so it's just sleeping for a long time. >> > > There is some interaction with pspg in stream mode > > The probable scenario > > It is starting pspg due to my setting PSQL_WATCH_PAGER. pspg is waiting on > quit command, or on pipe ending. Quit command cannot to come because it is > not on tty, so it is dead lock > > I can write to safeguard the fast ending on pspg when it is in stream > mode, and tty is not available. > > And generally, the root perl should to reset PSQL_WATCH_PAGER env variable > before executing psql. Probably it does with PSQL_PAGER, and maybe with > PAGER. > with last change in pspg, this tests fails as "expected" aster/src/bin/psql/../../../src/test/regress/pg_regress' /usr/bin/prove -I ../../../src/test/perl/ -I . t/*.pl # +++ tap check in src/bin/psql +++ t/001_basic.pl ........... 59/? # Failed test '\watch with 3 iterations: no stderr' # at t/001_basic.pl line 356. # got: 'stream mode can be used only in interactive mode (tty is not available)' # expected: '' # Failed test '\watch with 3 iterations: matches' # at t/001_basic.pl line 356. # '' # doesn't match '(?^l:1\n1\n1)' # Looks like you failed 2 tests of 80. t/001_basic.pl ........... Dubious, test returned 2 (wstat 512, 0x200) Failed 2/80 subtests t/010_tab_completion.pl .. ok t/020_cancel.pl .......... ok Test Summary Report ------------------- t/001_basic.pl (Wstat: 512 (exited 2) Tests: 80 Failed: 2) Failed tests: 69-70 Non-zero exit status: 2 Files=3, Tests=169, 7 wallclock secs ( 0.16 usr 0.03 sys + 3.31 cusr 1.31 csys = 4.81 CPU) Result: FAIL make: *** [Makefile:87: check] Chyba 1 Regards Pavel > > Regards > > Pavel > > >> >> About the server locale, note that the ->new() call explicitly requests >> the C locale -- it's only psql that is using the Czech locale. >> Supposedly, the Perl code should also be using the Czech locale, so the >> sprintf('%g') should be consistent with what psql \watch expects. >> However, you cannot ask the server to be consistent with that -- say, if >> you hypothetically tried to use "to_char(9D99)" and \gset that to use as >> \watch argument, it wouldn't work, because that'd use the server's C >> locale, not Czech. (I know because I tried.) >> >> -- >> Álvaro Herrera Breisgau, Deutschland — >> https://www.EnterpriseDB.com/ >> "Puedes vivir sólo una vez, pero si lo haces bien, una vez es suficiente" >> >