Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf9d7bb6

Browse files
committed
Teach pg_dump to dump comments on RLS policy objects.
This was unaccountably omitted in the original RLS patch.The SQL syntax is basically the same as for comments on triggers,so crib code from dumpTrigger().Per report from Marc Munro. Back-patch to all supported branches.Discussion:https://postgr.es/m/1581889298.18009.15.camel@bloodnok.com
1 parent1beab07 commitf9d7bb6

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

‎src/bin/pg_dump/pg_dump.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3333,6 +3333,8 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
33333333
TableInfo *tbinfo = polinfo->poltable;
33343334
PQExpBuffer query;
33353335
PQExpBuffer delqry;
3336+
PQExpBuffer polprefix;
3337+
char *qtabname;
33363338
const char *cmd;
33373339
char *tag;
33383340

@@ -3390,6 +3392,9 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
33903392

33913393
query = createPQExpBuffer();
33923394
delqry = createPQExpBuffer();
3395+
polprefix = createPQExpBuffer();
3396+
3397+
qtabname = pg_strdup(fmtId(tbinfo->dobj.name));
33933398

33943399
appendPQExpBuffer(query, "CREATE POLICY %s", fmtId(polinfo->polname));
33953400

@@ -3410,6 +3415,9 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
34103415
appendPQExpBuffer(delqry, "DROP POLICY %s", fmtId(polinfo->polname));
34113416
appendPQExpBuffer(delqry, " ON %s;\n", fmtQualifiedDumpable(tbinfo));
34123417

3418+
appendPQExpBuffer(polprefix, "POLICY %s ON",
3419+
fmtId(polinfo->polname));
3420+
34133421
tag = psprintf("%s %s", tbinfo->dobj.name, polinfo->dobj.name);
34143422

34153423
if (polinfo->dobj.dump & DUMP_COMPONENT_POLICY)
@@ -3423,9 +3431,16 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
34233431
NULL, 0,
34243432
NULL, NULL);
34253433

3434+
if (polinfo->dobj.dump & DUMP_COMPONENT_COMMENT)
3435+
dumpComment(fout, polprefix->data, qtabname,
3436+
tbinfo->dobj.namespace->dobj.name, tbinfo->rolname,
3437+
polinfo->dobj.catId, 0, polinfo->dobj.dumpId);
3438+
34263439
free(tag);
34273440
destroyPQExpBuffer(query);
34283441
destroyPQExpBuffer(delqry);
3442+
destroyPQExpBuffer(polprefix);
3443+
free(qtabname);
34293444
}
34303445

34313446
/*

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp