X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plc.d%2Fpostgresql;h=362cb5fe0364f2f56492e0b173474edd800a0d4f;hb=106e14d7f661da956715e6898cbfeff512744b28;hp=f777a555c9abb4367110000c4d5203f524b470e7;hpb=ef7a909a625a7f643c5fc78afac5c6150a265252;p=myplc.git diff --git a/plc.d/postgresql b/plc.d/postgresql index f777a55..362cb5f 100755 --- a/plc.d/postgresql +++ b/plc.d/postgresql @@ -7,7 +7,7 @@ # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id: postgresql,v 1.3 2006/05/02 23:52:50 mlhuang Exp $ +# $Id: postgresql,v 1.5 2006/07/10 21:09:24 mlhuang Exp $ # # Source function library and configuration @@ -35,7 +35,9 @@ postgresql_start () if status postmaster && [ -f /var/lock/subsys/postgresql ] ; then # The only way we can be sure is if we can access it for i in $(seq 1 10) ; do - psql -U postgres -c "" template1 && return 0 + # Must do this as the postgres user initially (before we + # fix pg_hba.conf to passwordless localhost access). + su -c 'psql -U postgres -c "" template1' postgres && return 0 sleep 1 done fi @@ -104,6 +106,10 @@ case "$1" in check # Create/update the unprivileged database user and password + if [ -z "$PLC_DB_PASSWORD" ] ; then + PLC_DB_PASSWORD=$(uuidgen) + plc-config --category=plc_db --variable=password --value="$PLC_DB_PASSWORD" --save + fi if ! psql -U $PLC_DB_USER -c "" template1 >/dev/null 2>&1 ; then psql -U postgres -c "CREATE USER $PLC_DB_USER PASSWORD '$PLC_DB_PASSWORD'" template1 else