Re: Minimal logical decoding on standbys
От | Craig Ringer |
---|---|
Тема | Re: Minimal logical decoding on standbys |
Дата | |
Msg-id | CAMsr+YFKGOErO+QqgMhGGgkoJj6OEGDUJ_OHiNOkWBJAj7xhbQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Minimal logical decoding on standbys (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: Minimal logical decoding on standbys
Re: Minimal logical decoding on standbys |
Список | pgsql-hackers |
On Tue, 1 Oct 2019 at 02:08, Robert Haas <robertmhaas@gmail.com> wrote:
Why does create_logical_slot_on_standby include sleep(1)?
Yeah, we really need to avoid sleeps in regression tests.
If you need to wait, use a DO block that polls the required condition, and wrap the sleep in that with a much longer total timeout. In BDR and pglogical's pg_regress tests I've started to use a shared prelude that sets a bunch of psql variables that I use as helpers for this sort of thing, so I can just write :wait_slot_ready instead of repeating the same SQL command a pile of times across the tests.
That reminds me: I'm trying to find the time to write a couple of patches to pg_regress to help make life easier too:
- Prelude and postscript .psql files that run before/after every test step to set variables, do cleanup etc
- Test header comment that can be read by pg_regress to set a per-test timeout
- Allow pg_regress to time out individual tests and continue with the next test
- Test result postprocessing by script, where pg_regress writes the raw test results then postprocesses it with a script before diffing the postprocessed output. This would allow us to have things like /* BEGIN_TESTIGNORE */ ... /* END_TESTIGNORE */ blocks for diagnostic output that we want available but don't want to be part of actual test output. Or filter out NOTICEs that vary in output. That sort of thing.
В списке pgsql-hackers по дате отправления: