pg_stash_advice: Allow stashed advice to be persisted to disk.

If pg_stash_advice.persist = true, stashed advice will be written to
pg_stash_advice.tsv in the data directory, periodically and at
shutdown. On restart, stash modifications are locked out until this
file has been reloaded, but queries will not be, so there may be a
short window after startup during which previously-stashed advice is
not automatically applied.

Author: Robert Haas <[email protected]>
Co-authored-by: Lukas Fittl <[email protected]>
Discussion: 
https://postgr.es/m/ca+tgmob87qswa-vugofu6epuv0h5xjwzgmbqas4q-adkmvs...@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c10edb102ada607eb054bc9e23690109d86849ef

Modified Files
--------------
contrib/pg_stash_advice/Makefile                 |   4 +-
contrib/pg_stash_advice/meson.build              |   8 +-
contrib/pg_stash_advice/pg_stash_advice--1.0.sql |   6 +
contrib/pg_stash_advice/pg_stash_advice.c        | 170 ++++-
contrib/pg_stash_advice/pg_stash_advice.h        |  12 +
contrib/pg_stash_advice/stashfuncs.c             |  41 ++
contrib/pg_stash_advice/stashpersist.c           | 800 +++++++++++++++++++++++
contrib/pg_stash_advice/t/001_persist.pl         |  84 +++
doc/src/sgml/pgstashadvice.sgml                  |  70 +-
src/tools/pgindent/typedefs.list                 |   4 +
10 files changed, 1192 insertions(+), 7 deletions(-)

Reply via email to