aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1998-02-23 19:26:36 +0000
committerMarc G. Fournier <scrappy@hub.org>1998-02-23 19:26:36 +0000
commitab6e4ea3dc644046ddc487799e78dd4018d7a723 (patch)
treed5c21a678b9be8898f66d2825d2e7d17af40368d
parent0b4620b57561c92b436be7c12a83ab0f51b54593 (diff)
downloadpostgresql-ab6e4ea3dc644046ddc487799e78dd4018d7a723.tar.gz
postgresql-ab6e4ea3dc644046ddc487799e78dd4018d7a723.zip
Modify initdb.sh so that it makes pg_user readable through view db_user
Modify psql so that it uses db_user instead of pg_user GRANT SELECT on pg_class
-rw-r--r--src/bin/initdb/initdb.sh17
-rw-r--r--src/bin/psql/psql.c12
2 files changed, 20 insertions, 9 deletions
diff --git a/src/bin/initdb/initdb.sh b/src/bin/initdb/initdb.sh
index 819d89ef9c2..9cd1457d2b5 100644
--- a/src/bin/initdb/initdb.sh
+++ b/src/bin/initdb/initdb.sh
@@ -26,7 +26,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.34 1998/02/20 01:44:18 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.35 1998/02/23 19:26:32 scrappy Exp $
#
#-------------------------------------------------------------------------
@@ -351,8 +351,19 @@ echo "vacuuming template1"
echo "vacuum" | postgres -F -Q -D$PGDATA template1 2>&1 > /dev/null |\
grep -v "^DEBUG:"
-echo "COPY pg_user TO '$PGDATA/pg_pwd' USING DELIMITERS '\\t'" | postgres -F -Q -D$PGDATA template1 2>&1 > /dev/null |\
- grep -v "'DEBUG:"
+echo "COPY pg_user TO '$PGDATA/pg_pwd' USING DELIMITERS '\\t'" |\
+ postgres -F -Q -D$PGDATA template1 2>&1 > /dev/null |\
+ grep -v "'DEBUG:"
+
+echo "GRANT SELECT ON pg_class TO PUBLIC" |\
+ postgres -F -Q -D$PGDATA template1 2>&1 > /dev/null |\
+
+echo "create view db_user as select usename,usesysid from pg_user;" |\
+ postgres -F -Q -D$PGDATA template1 2>&1 > /dev/null |\
+ grep -v "'DEBUG:"
+echo "grant select on db_user to public" |\
+ postgres -F -Q -D$PGDATA template1 2>&1 > /dev/null |\
+ grep -v "'DEBUG:"
echo "loading pg_description"
echo "copy pg_description from '$TEMPLATE_DESCR'" | postgres -F -Q -D$PGDATA template1 > /dev/null
diff --git a/src/bin/psql/psql.c b/src/bin/psql/psql.c
index 54905c31c74..92d29f0776f 100644
--- a/src/bin/psql/psql.c
+++ b/src/bin/psql/psql.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.133 1998/02/07 06:11:47 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.134 1998/02/23 19:26:36 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@@ -333,7 +333,7 @@ tableList(PsqlSettings *pset, bool deep_tablelist, char info_type,
listbuf[0] = '\0';
strcat(listbuf, "SELECT usename, relname, relkind, relhasrules ");
- strcat(listbuf, "FROM pg_class, pg_user ");
+ strcat(listbuf, "FROM pg_class, db_user ");
switch (info_type)
{
case 't':
@@ -351,9 +351,9 @@ tableList(PsqlSettings *pset, bool deep_tablelist, char info_type,
break;
}
if (!system_tables)
- strcat(listbuf, " and relname !~ '^pg_'");
+ strcat(listbuf, " and relname !~ '^[dp][bg]_'");
else
- strcat(listbuf, " and relname ~ '^pg_'");
+ strcat(listbuf, " and relname ~ '^[dp][bg]_'");
strcat(listbuf, " and relname !~ '^xin[vx][0-9]+'");
/*
@@ -492,9 +492,9 @@ rightsList(PsqlSettings *pset)
listbuf[0] = '\0';
strcat(listbuf, "SELECT relname, relacl ");
- strcat(listbuf, "FROM pg_class, pg_user ");
+ strcat(listbuf, "FROM pg_class, db_user ");
strcat(listbuf, "WHERE ( relkind = 'r' OR relkind = 'i' OR relkind = 'S') ");
- strcat(listbuf, " and relname !~ '^pg_'");
+ strcat(listbuf, " and relname !~ '^[dp][bg]_'");
strcat(listbuf, " and relname !~ '^xin[vx][0-9]+'");
strcat(listbuf, " and usesysid = relowner");
strcat(listbuf, " ORDER BY relname ");