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

Commitf313646

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 parentc6679e4 commitf313646

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
@@ -3666,6 +3666,8 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
36663666
TableInfo *tbinfo = polinfo->poltable;
36673667
PQExpBuffer query;
36683668
PQExpBuffer delqry;
3669+
PQExpBuffer polprefix;
3670+
char *qtabname;
36693671
const char *cmd;
36703672
char *tag;
36713673

@@ -3723,6 +3725,9 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
37233725

37243726
query = createPQExpBuffer();
37253727
delqry = createPQExpBuffer();
3728+
polprefix = createPQExpBuffer();
3729+
3730+
qtabname = pg_strdup(fmtId(tbinfo->dobj.name));
37263731

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

@@ -3743,6 +3748,9 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
37433748
appendPQExpBuffer(delqry, "DROP POLICY %s", fmtId(polinfo->polname));
37443749
appendPQExpBuffer(delqry, " ON %s;\n", fmtQualifiedDumpable(tbinfo));
37453750

3751+
appendPQExpBuffer(polprefix, "POLICY %s ON",
3752+
fmtId(polinfo->polname));
3753+
37463754
tag = psprintf("%s %s", tbinfo->dobj.name, polinfo->dobj.name);
37473755

37483756
if (polinfo->dobj.dump & DUMP_COMPONENT_POLICY)
@@ -3755,9 +3763,16 @@ dumpPolicy(Archive *fout, PolicyInfo *polinfo)
37553763
.createStmt = query->data,
37563764
.dropStmt = delqry->data));
37573765

3766+
if (polinfo->dobj.dump & DUMP_COMPONENT_COMMENT)
3767+
dumpComment(fout, polprefix->data, qtabname,
3768+
tbinfo->dobj.namespace->dobj.name, tbinfo->rolname,
3769+
polinfo->dobj.catId, 0, polinfo->dobj.dumpId);
3770+
37583771
free(tag);
37593772
destroyPQExpBuffer(query);
37603773
destroyPQExpBuffer(delqry);
3774+
destroyPQExpBuffer(polprefix);
3775+
free(qtabname);
37613776
}
37623777

37633778
/*

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp