Обсуждение: initdb using option "username" startup log
I initdb like below "initdb --pgdata=/pg_data --encoding='utf8' --locale='C' --lc-collate='C' --lc-ctype='C' --username=sys --pwprompt" When startup database server. Server wirte log like this ----------------------------- LOG: database system was shut down at 2012-10-31 12:00:14 KST LOG: database system is ready to accept connections LOG: autovacuum launcher started FATAL: role "postgres" does not exist ----------------------------- *What is it ? : FATAL: role "postgres" does not exist* P.S process list [postgres@pg111 pg_log]$ ps auxww | grep ^postgres postgres 13920 0.0 0.0 108300 1952 pts/1 S 10:54 0:00 -bash postgres 14588 0.0 0.1 153732 7108 ? S 12:00 0:00 /postgresql/9.2.1/bin/postgres -D /pg_data postgres 14590 0.0 0.0 153732 940 ? Ss 12:00 0:00 postgres: checkpointer process postgres 14591 0.0 0.0 153732 1004 ? Ss 12:00 0:00 postgres: writer process postgres 14592 0.0 0.0 153732 900 ? Ss 12:00 0:00 postgres: wal writer process postgres 14593 0.0 0.0 154432 1908 ? Ss 12:00 0:00 postgres: autovacuum launcher process postgres 14594 0.0 0.0 113420 788 ? Ss 12:00 0:00 postgres: stats collector process postgres 14612 0.0 0.0 110224 1152 pts/1 R+ 12:01 0:00 ps auxww postgres 14613 0.0 0.0 103236 864 pts/1 S+ 12:01 0:00 grep ^postgres -- ---------------------------------------------------------
Dae-man Yang <yangsclub@gmail.com> writes: > I initdb like below > "initdb --pgdata=/pg_data --encoding='utf8' --locale='C' --lc-collate='C' > --lc-ctype='C' --username=sys --pwprompt" OK. The --username switch specifies the name of the initial database superuser. Instead of "postgres", it's going to be "sys". > When startup database server. > Server wirte log like this > ----------------------------- > LOG: database system was shut down at 2012-10-31 12:00:14 KST > LOG: database system is ready to accept connections > LOG: autovacuum launcher started > FATAL: role "postgres" does not exist > ----------------------------- > *What is it ? : FATAL: role "postgres" does not exist* That would be the trace of something trying to connect as user "postgres", which doesn't exist because you told initdb to create "sys" instead. The database is up and running, but you'll only be able to connect to it by specifying the username "sys" (at least until you make some more database roles). regards, tom lane
Thank you for your reply. I was anything to do as postgres role. but at startup Server that log occur. I installed postgresql(v 9.2.1) by source file. And I don't want to use "postgres" role as superlogin user.- For security. I worry about something is not work. Is there no problem? 2012/10/31 Tom Lane <tgl@sss.pgh.pa.us> > Dae-man Yang <yangsclub@gmail.com> writes: > > I initdb like below > > "initdb --pgdata=/pg_data --encoding='utf8' --locale='C' --lc-collate='C' > > --lc-ctype='C' --username=sys --pwprompt" > > OK. The --username switch specifies the name of the initial database > superuser. Instead of "postgres", it's going to be "sys". > > > When startup database server. > > Server wirte log like this > > ----------------------------- > > LOG: database system was shut down at 2012-10-31 12:00:14 KST > > LOG: database system is ready to accept connections > > LOG: autovacuum launcher started > > FATAL: role "postgres" does not exist > > ----------------------------- > > > *What is it ? : FATAL: role "postgres" does not exist* > > That would be the trace of something trying to connect as user > "postgres", which doesn't exist because you told initdb to create "sys" > instead. The database is up and running, but you'll only be able to > connect to it by specifying the username "sys" (at least until you make > some more database roles). > > regards, tom lane > -- ---------------------------------------------------------