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

Commitbe09ceb

Browse files
committed
Fix pg_dumpall to restore its ability to dump from ancient servers.
Fix breakage induced by commitsd8d3d2aand463f262: pg_dumpall has crashed whenattempting to dump from pre-8.1 servers since then, due to faultyconstruction of the query used for dumping roles from older servers.The query was erroneous as of the earlier commit, but it wasn't exposedunless you tried to use --binary-upgrade, which you presumably wouldn'twith a pre-8.1 server. However commit463f262 made it fail always.In HEAD, also fix additional breakage induced in the same query bycommit491c029, which evidently wasn'ttested against pre-8.1 servers either.The bug is only latent in 9.1 because463f262 hadn't landed yet, butit seems best to back-patch all branches containing the faulty query.Gilles Darold
1 parent89fd41b commitbe09ceb

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

‎src/bin/pg_dump/pg_dumpall.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -714,7 +714,7 @@ dumpRoles(PGconn *conn)
714714
"ORDER BY 2");
715715
else
716716
printfPQExpBuffer(buf,
717-
"SELECT 0, usename as rolname, "
717+
"SELECT 0 as oid, usename as rolname, "
718718
"usesuper as rolsuper, "
719719
"true as rolinherit, "
720720
"usesuper as rolcreaterole, "
@@ -724,11 +724,12 @@ dumpRoles(PGconn *conn)
724724
"passwd as rolpassword, "
725725
"valuntil as rolvaliduntil, "
726726
"false as rolreplication, "
727+
"false as rolbypassrls, "
727728
"null as rolcomment, "
728729
"usename = current_user AS is_current_user "
729730
"FROM pg_shadow "
730731
"UNION ALL "
731-
"SELECT 0, groname as rolname, "
732+
"SELECT 0 as oid, groname as rolname, "
732733
"false as rolsuper, "
733734
"true as rolinherit, "
734735
"false as rolcreaterole, "
@@ -739,7 +740,8 @@ dumpRoles(PGconn *conn)
739740
"null::abstime as rolvaliduntil, "
740741
"false as rolreplication, "
741742
"false as rolbypassrls, "
742-
"null as rolcomment, false "
743+
"null as rolcomment, "
744+
"false AS is_current_user "
743745
"FROM pg_group "
744746
"WHERE NOT EXISTS (SELECT 1 FROM pg_shadow "
745747
" WHERE usename = groname) "

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp