diff --git a/src/bin/pg_dump/pg_dumpall b/src/bin/pg_dump/pg_dumpall
index 7a5ebf7942afe94f1d6662f3350ca3db3c1c2273..4651987b80d26a9dbaf21278d0f99583ba98055a 100644
--- a/src/bin/pg_dump/pg_dumpall
+++ b/src/bin/pg_dump/pg_dumpall
@@ -2,7 +2,7 @@
 #
 # pg_dumpall [pg_dump parameters]
 # dumps all databases to standard output
-# It also dumps the pg_user table
+# It also dumps the pg_shadow table
 #
 # to adapt to System V vs. BSD 'echo'
 #set -x
@@ -30,21 +30,21 @@ echo "${BS}connect template1"
 # we don't use POSTGRES_SUPER_USER_ID because the postgres super user id
 # could be different on the two installations
 #
-echo "select datdba into table tmp_pguser \
+echo "select datdba into table tmp_pg_shadow \
       from pg_database where datname = 'template1';"
-echo "delete from pg_user where usesysid <> tmp_pguser.datdba;"
-echo "drop table tmp_pguser;"
+echo "delete from pg_shadow where usesysid <> tmp_pg_shadow.datdba;"
+echo "drop table tmp_pg_shadow;"
 #
 # load all the non-postgres users
 #
-echo "copy pg_user from stdin;"
+echo "copy pg_shadow from stdin;"
 psql -q template1 <<END
-select pg_user.* 
-into table tmp_pg_user
-from pg_user
+select pg_shadow.* 
+into table tmp_pg_shadow
+from pg_shadow
 where usesysid <> $POSTGRES_SUPER_USER_ID;
-copy tmp_pg_user to stdout;
-drop table tmp_pg_user;
+copy tmp_pg_shadow to stdout;
+drop table tmp_pg_shadow;
 END
 echo "${BS}."
 psql -l -A -q -t| tr '|' ' ' | grep -v '^template1 ' | \
@@ -52,7 +52,7 @@ while read DATABASE DBUSERID DATAPATH
 do
 	POSTGRES_USER="`echo \" \
 		select usename \
-		from pg_user \
+		from pg_shadow \
 		where usesysid = $DBUSERID; \" | \
 		psql -A -q -t template1`"
 	echo "${BS}connect template1 $POSTGRES_USER"