1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-28 23:42:10 +03:00

Fix to give super user and createdb user proper update catalog rights.

This commit is contained in:
Bruce Momjian
1999-09-27 16:44:56 +00:00
parent 30659d43eb
commit 74a263ed34
3 changed files with 36 additions and 6 deletions

View File

@ -3,7 +3,7 @@ Frequently Asked Questions (FAQ) for PostgreSQL V6.5
Sun Solaris Specific Sun Solaris Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
======================================================= =======================================================
last updated: Thu Sep 2 11:40:00 CET 1999 last updated: Thu Sep 21 9:30:00 CET 1999
current maintainer: Marc Liyanage (liyanage@access.ch) current maintainer: Marc Liyanage (liyanage@access.ch)
original author: Marc Liyanage (liyanage@access.ch) original author: Marc Liyanage (liyanage@access.ch)
@ -19,6 +19,10 @@ Contents:
1.4) Why am I getting "Can't tell what username to use" errors 1.4) Why am I getting "Can't tell what username to use" errors
when I try to run initdb? when I try to run initdb?
A) Contributors
Notes: Notes:
- The commands given here are for the bash shell. If you use - The commands given here are for the bash shell. If you use
@ -125,7 +129,7 @@ maximum segment size kernel parameter is set too low. The solution
is to put something like the following line into /etc/system and is to put something like the following line into /etc/system and
reboot the system. reboot the system.
set shmsys:shminfo_shmmax=0xffffffff set shmsys:shminfo_shmmax=0x7fffffff
Excellent info regarding shared memory under Solaris can be found here: Excellent info regarding shared memory under Solaris can be found here:
http://www.sunworld.com/swol-09-1997/swol-09-insidesolaris.html http://www.sunworld.com/swol-09-1997/swol-09-insidesolaris.html
@ -140,3 +144,22 @@ Put something like this into the .bash_profile startup script
of the postgres user (see also step 17 in the INSTALL file): of the postgres user (see also step 17 in the INSTALL file):
export USER=postgres export USER=postgres
----------------------------------------------------------------------
Section A: Contributors
----------------------------------------------------------------------
- Jose Luis Rodriguez Garcia
Suggested to change the shmmax parameter in 1.3 from 0xffffffff to 0x7fffffff
because the value is a signed integer in Solaris versions prior to 2.6.

View File

@ -5,7 +5,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: user.c,v 1.34 1999/09/18 19:06:41 tgl Exp $ * $Id: user.c,v 1.35 1999/09/27 16:44:50 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -172,12 +172,14 @@ DefineUser(CreateUserStmt *stmt, CommandDest dest)
snprintf(sql, SQL_LENGTH, snprintf(sql, SQL_LENGTH,
"insert into %s (usename,usesysid,usecreatedb,usetrace," "insert into %s (usename,usesysid,usecreatedb,usetrace,"
"usesuper,usecatupd,passwd,valuntil) " "usesuper,usecatupd,passwd,valuntil) "
"values('%s',%d,'%c','f','%c','f',%s%s%s,%s%s%s)", "values('%s',%d,'%c','f','%c','%c',%s%s%s,%s%s%s)",
ShadowRelationName, ShadowRelationName,
stmt->user, stmt->user,
max_id + 1, max_id + 1,
(stmt->createdb && *stmt->createdb) ? 't' : 'f', (stmt->createdb && *stmt->createdb) ? 't' : 'f',
(stmt->createuser && *stmt->createuser) ? 't' : 'f', (stmt->createuser && *stmt->createuser) ? 't' : 'f',
((stmt->createdb && *stmt->createdb) ||
(stmt->createuser && *stmt->createuser)) ? 't' : 'f',
havepassword ? "'" : "", havepassword ? "'" : "",
havepassword ? stmt->password : "NULL", havepassword ? stmt->password : "NULL",
havepassword ? "'" : "", havepassword ? "'" : "",

View File

@ -8,7 +8,7 @@
# #
# #
# IDENTIFICATION # IDENTIFICATION
# $Header: /cvsroot/pgsql/src/bin/createuser/Attic/createuser.sh,v 1.12 1999/07/30 18:09:49 momjian Exp $ # $Header: /cvsroot/pgsql/src/bin/createuser/Attic/createuser.sh,v 1.13 1999/09/27 16:44:56 momjian Exp $
# #
# Note - this should NOT be setuid. # Note - this should NOT be setuid.
# #
@ -215,10 +215,15 @@ then
fi fi
fi fi
if [ "$CANCREATE" = "t" -o "$CANADDUSER" = "t" ]
then CANCATUPD="t"
else CANCATUPD="f"
fi
QUERY="insert into pg_shadow \ QUERY="insert into pg_shadow \
(usename, usesysid, usecreatedb, usetrace, usesuper, usecatupd) \ (usename, usesysid, usecreatedb, usetrace, usesuper, usecatupd) \
values \ values \
('$NEWUSER', $SYSID, '$CANCREATE', 'f', '$CANADDUSER','f')" ('$NEWUSER', $SYSID, '$CANCREATE', 'f', '$CANADDUSER','$CANCATUPD')"
RES=`$PSQL -c "$QUERY" template1` RES=`$PSQL -c "$QUERY" template1`