On Fri, Jul 01, 2022 at 03:36:48PM +0200, Magnus Hagander wrote: > +1 for pg_checkpoint on that -- let's not make it longer than necessary. > > And yes, +1 for actually changing it. It's a lot cheaper to change it now > than it will be in the future. Yes, it would've been even cheaper to have > already changed it, but we can't go back in time...
Yeah, pg_checkpoint seems like the obvious alternative to pg_checkpointer. I didn't see a patch in this thread yet, so I've put one together. I did not include the catversion bump. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
>From 2a514b16238a55b9929029ce8f641e51178077f1 Mon Sep 17 00:00:00 2001 From: Nathan Bossart <nathandboss...@gmail.com> Date: Fri, 1 Jul 2022 14:44:15 -0700 Subject: [PATCH v1 1/1] Rename pg_checkpointer to pg_checkpoint. --- doc/src/sgml/ref/checkpoint.sgml | 2 +- doc/src/sgml/user-manag.sgml | 2 +- src/backend/po/de.po | 2 +- src/backend/po/ja.po | 4 ++-- src/backend/po/sv.po | 2 +- src/backend/tcop/utility.c | 4 ++-- src/include/catalog/pg_authid.dat | 4 ++-- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/doc/src/sgml/ref/checkpoint.sgml b/doc/src/sgml/ref/checkpoint.sgml index 1cebc03d15..28a1d717b8 100644 --- a/doc/src/sgml/ref/checkpoint.sgml +++ b/doc/src/sgml/ref/checkpoint.sgml @@ -53,7 +53,7 @@ CHECKPOINT <para> Only superusers or users with the privileges of - the <link linkend="predefined-roles-table"><literal>pg_checkpointer</literal></link> + the <link linkend="predefined-roles-table"><literal>pg_checkpoint</literal></link> role can call <command>CHECKPOINT</command>. </para> </refsect1> diff --git a/doc/src/sgml/user-manag.sgml b/doc/src/sgml/user-manag.sgml index 9067be1d9c..6eaaaa36b8 100644 --- a/doc/src/sgml/user-manag.sgml +++ b/doc/src/sgml/user-manag.sgml @@ -583,7 +583,7 @@ DROP ROLE doomed_role; COPY and other functions which allow executing a server-side program.</entry> </row> <row> - <entry>pg_checkpointer</entry> + <entry>pg_checkpoint</entry> <entry>Allow executing the <link linkend="sql-checkpoint"><command>CHECKPOINT</command></link> command.</entry> diff --git a/src/backend/po/de.po b/src/backend/po/de.po index f665817458..999f2c2839 100644 --- a/src/backend/po/de.po +++ b/src/backend/po/de.po @@ -22711,7 +22711,7 @@ msgstr "%s kann nicht in einem Hintergrundprozess ausgeführt werden" #: tcop/utility.c:953 #, fuzzy, c-format #| msgid "must be superuser to do CHECKPOINT" -msgid "must be superuser or have privileges of pg_checkpointer to do CHECKPOINT" +msgid "must be superuser or have privileges of pg_checkpoint to do CHECKPOINT" msgstr "nur Superuser können CHECKPOINT ausführen" #: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:615 diff --git a/src/backend/po/ja.po b/src/backend/po/ja.po index 0925465d22..8eca82d8cb 100644 --- a/src/backend/po/ja.po +++ b/src/backend/po/ja.po @@ -22010,8 +22010,8 @@ msgstr "バックグラウンドプロセス内で%sを実行することはで #: tcop/utility.c:953 #, c-format -msgid "must be superuser or have privileges of pg_checkpointer to do CHECKPOINT" -msgstr "CHECKPOINTを実行するにはスーパーユーザーであるか、またはpg_checkpointerの権限を持つ必要があります" +msgid "must be superuser or have privileges of pg_checkpoint to do CHECKPOINT" +msgstr "CHECKPOINTを実行するにはスーパーユーザーであるか、またはpg_checkpointの権限を持つ必要があります" #: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:615 #, c-format diff --git a/src/backend/po/sv.po b/src/backend/po/sv.po index 05f8184506..095eb4e4ea 100644 --- a/src/backend/po/sv.po +++ b/src/backend/po/sv.po @@ -22794,7 +22794,7 @@ msgstr "kan inte köra %s i en bakgrundsprocess" #: tcop/utility.c:953 #, fuzzy, c-format #| msgid "must be superuser to do CHECKPOINT" -msgid "must be superuser or have privileges of pg_checkpointer to do CHECKPOINT" +msgid "must be superuser or have privileges of pg_checkpoint to do CHECKPOINT" msgstr "måste vara superuser för att göra CHECKPOINT" #: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:615 diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 6a5bcded55..6b0a865262 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -947,10 +947,10 @@ standard_ProcessUtility(PlannedStmt *pstmt, break; case T_CheckPointStmt: - if (!has_privs_of_role(GetUserId(), ROLE_PG_CHECKPOINTER)) + if (!has_privs_of_role(GetUserId(), ROLE_PG_CHECKPOINT)) ereport(ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - errmsg("must be superuser or have privileges of pg_checkpointer to do CHECKPOINT"))); + errmsg("must be superuser or have privileges of pg_checkpoint to do CHECKPOINT"))); RequestCheckpoint(CHECKPOINT_IMMEDIATE | CHECKPOINT_WAIT | (RecoveryInProgress() ? 0 : CHECKPOINT_FORCE)); diff --git a/src/include/catalog/pg_authid.dat b/src/include/catalog/pg_authid.dat index 6c28119fa1..3343a69ddb 100644 --- a/src/include/catalog/pg_authid.dat +++ b/src/include/catalog/pg_authid.dat @@ -79,8 +79,8 @@ rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f', rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1', rolpassword => '_null_', rolvaliduntil => '_null_' }, -{ oid => '4544', oid_symbol => 'ROLE_PG_CHECKPOINTER', - rolname => 'pg_checkpointer', rolsuper => 'f', rolinherit => 't', +{ oid => '4544', oid_symbol => 'ROLE_PG_CHECKPOINT', + rolname => 'pg_checkpoint', rolsuper => 'f', rolinherit => 't', rolcreaterole => 'f', rolcreatedb => 'f', rolcanlogin => 'f', rolreplication => 'f', rolbypassrls => 'f', rolconnlimit => '-1', rolpassword => '_null_', rolvaliduntil => '_null_' }, -- 2.25.1