From: | Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Cc: | tsunakawa(dot)takay(at)jp(dot)fujitsu(dot)com, robertmhaas(at)gmail(dot)com, tgl(at)sss(dot)pgh(dot)pa(dot)us, bruce(at)momjian(dot)us, GavinFlower(at)archidevsys(dot)co(dot)nz, ideriha(dot)takeshi(at)jp(dot)fujitsu(dot)com, alvherre(at)alvh(dot)no-ip(dot)org, andres(at)anarazel(dot)de, michael(dot)paquier(at)gmail(dot)com, david(at)pgmasters(dot)net, craig(at)2ndquadrant(dot)com |
Subject: | ALTER SESSION |
Date: | 2019-01-29 11:32:54 |
Message-ID: | 20190129.203254.115361483.horiguchi.kyotaro@lab.ntt.co.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello.
https://www.postgresql.org/message-id/20190128.133143.115303042.horiguchi.kyotaro@lab.ntt.co.jp
> C. Provide session-specific GUC variable (that overides the global one)
> - Add new configuration file "postgresql.conf.<PID>" and
> pg_reload_conf() let the session with the PID loads it as if
> it is the last included file. All such files are removed at
> startup or at the end of the coressponding session.
>
> - Add a new syntax like this:
> ALTER SESSION WITH (pid=xxxx)
> SET configuration_parameter {TO | =} {value | 'value' | DEFAULT}
> RESET configuration_parameter
> RESET ALL
>
> - Target variables are marked with GUC_REMOTE.
>
> I'll consider the last choice and will come up with a patch.
This is that, with a small change in design.
ALTER SESSION WITH (pid <pid>) SET param {TO|=} value [ IMMEDIATE ]
ALTER SESSION WITH (pid <pid>) RESET param [ IMMEDIATE ]
ALTER SESSION WITH (pid <pid>) RESET ALL
The first form create an entry in
$PGDATA/pg_session_conf/postgresql.<beid>.conf.
The second form removes the entry.
The third form removes the file itself.
IMMEDIATE specifies that the change is applied immediately by
sending SIGHUP to the process. pg_reload_conf() works as well.
The session configuration is removed at session-end and the
directory is cleaned up at startup.
It can change varaibles of PGC_USERSET by non-superuser or
PGC_SUSET by superuser. The local session user should have the
same privileges with pg_signal_backend() on the target session.
This patch contains documentation but doesn't contain test yet.
I would appreciate any comments or suggestions on this.
regards.
--
Kyotaro Horiguchi
NTT Open Source Software Center
Attachment | Content-Type | Size |
---|---|---|
0001-ALTER-SESSION.patch | text/x-patch | 31.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Masahiko Sawada | 2019-01-29 11:49:13 | Re: WIP: Avoid creation of the free space map for small tables |
Previous Message | Fabio Isabettini | 2019-01-29 11:32:47 | Re: dsa_allocate() faliure |