aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistget.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2021-09-15 12:31:56 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2021-09-15 12:31:56 -0400
commitd84d62b6225b4af86cd9837b71f6fd2cf33fe80c (patch)
tree315ad8f13e6675d47a511552fbe6b0227a73c999 /src/backend/access/gist/gistget.c
parent9b2fd490577bc957429f337cfd72869eb8ef08c9 (diff)
downloadpostgresql-d84d62b6225b4af86cd9837b71f6fd2cf33fe80c.tar.gz
postgresql-d84d62b6225b4af86cd9837b71f6fd2cf33fe80c.zip
Disallow LISTEN in background workers.
It's possible to execute user-defined SQL in some background processes; for example, logical replication workers can fire triggers. This opens the possibility that someone would try to execute LISTEN in such a context. But since only regular backends ever call ProcessNotifyInterrupt, no messages would actually be received, and thus the registered listener would simply prevent the message queue from being cleaned. Eventually NOTIFY would stop working, which is bad. Perhaps someday somebody will invent infrastructure to make listening in a background worker actually useful. In the meantime, forbid it. Back-patch to v13, which is where we introduced the MyBackendType variable. It'd be a lot harder to implement the check without that, and it doesn't seem worth the trouble. Discussion: https://postgr.es/m/153243441449.1404.2274116228506175596@wrigleys.postgresql.org
Diffstat (limited to 'src/backend/access/gist/gistget.c')
0 files changed, 0 insertions, 0 deletions