Обсуждение: Can't get postgresql to work
I keep getting this when I try to access the PostgreSQL database. The funny thing is this used to work. I am using a cobalt Linux server. And Postgresql is used for the GUI on that server . The GUI works I just can't access this other Database. How can I start the server with the -i . PostgreSQL is started at boot up with the script down below how can I change that to use the -i switch or do I even have to do that. I really don't understand this at all. How can I get it to work PHP Warning: pg_pconnect() unable to connect to PostgreSQL server: PQconnec tPoll() -- connect() failed: Connection refused Is the postmaster running (with -i) at '127.0.0.1' and accepting connections on TCP/IP port '5901'? ############THIS IS MY pg_hba.conf FILE####################### local cobalt crypt local eprop crypt host eprop 127.0.0.1 255.255.255.255 crypt #########THIS IS THE START UP SCRIPT################# #!/bin/bash # postgresql This is the init script for starting up the PostgreSQL # server # # chkconfig: 345 73 73 # description: Starts and stops the PostgreSQL backend daemon # processname: postmaster # pidfile: /var/run/postmaster.pid # [ -x /usr/bin/postmaster ] || exit 1 [ -s /etc/rc.d/init.d/functions ] || exit 1 [ -s /etc/sysconfig/network ] || exit 1 . /etc/rc.d/init.d/functions . /etc/sysconfig/network [ $NETWORKING = "no" ] && exit 0 [ -s /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n VERBOSE=yes [ "$2" = "quiet" ] && VERBOSE= DOMAIN=initscripts PIDFILE=/var/run/postmaster.pid LOCKFILE=/var/lock/subsys/postgresql PGDATA=/var/lib/pgsql/data export PGDATA case "$1" in start) if [ $VERBOSE ]; then LINE1=`getmsg postgresql_start_1` LINE2=`getmsg postgresql_start_2` $LCD_STOP $LCD_SWRITE "$LINE1" "$LINE2" &> /dev/null & echo -n "$LINE1 $LINE2: " fi if [ -s $PGDATA/PG_VERSION -a -d $PGDATA/base/template1 ]; then if [ `cat $PGDATA/PG_VERSION` != "7.0" ]; then [ $VERBOSE ] && echo "old version, upgrade to 7.0!" exit 1 fi else [ $VERBOSE ] && echo "no database files found. creating..." if [ ! -d $PGDATA ]; then mkdir -p $PGDATA chown postgres.postgres $PGDATA fi su postgres -c "/usr/bin/initdb --pglib=/usr/lib/pgsql --pgdata=$PGDATA" fi pid=`pidof postmaster` if [ $pid ]; then [ $VERBOSE ] && echo "postmaster already running!" exit 1 fi rm -f /tmp/.s.PGSQL.* su postgres -c "nohup /usr/bin/postmaster >> /var/log/postgresql 2>&1 &" sleep 1 pid=`pidof postmaster` if [ $pid ]; then [ $VERBOSE ] && echo "ok [$pid]" echo $pid > $PIDFILE touch $LOCKFILE else [ $VERBOSE ] && echo "failed!" [ -f $PIDFILE ] && rm -f $PIDFILE [ -f $LOCKFILE ] && rm -f $LOCKFILE exit 1 fi if [ ! -d $PGDATA/base/cobalt ]; then /usr/local/sbin/setup-postgres fi ;; stop) if [ $VERBOSE ]; then LINE1=`getmsg postgresql_stop_1` LINE2=`getmsg postgresql_stop_2` $LCD_STOP $LCD_SWRITE "$LINE1" "$LINE2" &> /dev/null & echo -n "$LINE1 $LINE2: " fi pid=`pidof postmaster` if [ $pid ]; then if [ -s $PIDFILE ] && [ `cat $PIDFILE` != $pid ]; then [ $VERBOSE ] && echo -n "process ID mismatch! " fi kill $pid sleep 2 killall /usr/bin/postgres >/dev/null 2>&1 [ $VERBOSE ] && echo "ok" else [ $VERBOSE ] && echo "not running!" fi [ -f $PIDFILE ] && rm -f $PIDFILE [ -f $LOCKFILE ] && rm -f $LOCKFILE ;; status) status postmaster ;; restart) EXTRA= [ $VERBOSE ] || EXTRA=quiet $0 stop $EXTRA $0 start $EXTRA ;; hard-restart) $0 stop quiet $0 start quiet ;; *) echo "Usage: postgresql {start|stop|status|restart} [quiet]" exit 1 esac exit 0 -- Best regards, rdkurth mailto:rdkurth@starband.net
If you don't want to start with the -i you can always go to the postgresql.conf file and uncomment the following line # tcpip_socket = true This will have the same effect as using the -i then you do not have to worry about changing your bash script. Also the server is not running on the norm pg port 5432 could this be any cause ?? HTH On Wed, 21 Aug 2002 rdkurth@starband.net wrote: > I keep getting this when I try to access the PostgreSQL database. The > funny thing is this used to work. I am using a cobalt Linux server. > And Postgresql is used for the GUI on that server . The GUI works I > just can't access this other Database. > How can I start the server with the -i . PostgreSQL is started at boot > up with the script down below how can I change that to use the -i > switch or do I even have to do that. I really don't understand this at > all. How can I get it to work > > PHP Warning: pg_pconnect() unable to connect to PostgreSQL server: PQconnec > tPoll() -- connect() failed: Connection refused > Is the postmaster running (with -i) at '127.0.0.1' > and accepting connections on TCP/IP port '5901'? > > ############THIS IS MY pg_hba.conf FILE####################### > local cobalt crypt > local eprop crypt > host eprop 127.0.0.1 255.255.255.255 crypt > > > #########THIS IS THE START UP SCRIPT################# > #!/bin/bash > > # postgresql This is the init script for starting up the PostgreSQL > # server > # > # chkconfig: 345 73 73 > # description: Starts and stops the PostgreSQL backend daemon > # processname: postmaster > # pidfile: /var/run/postmaster.pid > # > > [ -x /usr/bin/postmaster ] || exit 1 > [ -s /etc/rc.d/init.d/functions ] || exit 1 > [ -s /etc/sysconfig/network ] || exit 1 > > . /etc/rc.d/init.d/functions > . /etc/sysconfig/network > > [ $NETWORKING = "no" ] && exit 0 > [ -s /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n > > VERBOSE=yes > [ "$2" = "quiet" ] && VERBOSE= > > DOMAIN=initscripts > PIDFILE=/var/run/postmaster.pid > LOCKFILE=/var/lock/subsys/postgresql > PGDATA=/var/lib/pgsql/data > export PGDATA > > case "$1" in > start) > if [ $VERBOSE ]; then > LINE1=`getmsg postgresql_start_1` > LINE2=`getmsg postgresql_start_2` > $LCD_STOP > $LCD_SWRITE "$LINE1" "$LINE2" &> /dev/null & > echo -n "$LINE1 $LINE2: " > fi > > if [ -s $PGDATA/PG_VERSION -a -d $PGDATA/base/template1 ]; then > if [ `cat $PGDATA/PG_VERSION` != "7.0" ]; then > [ $VERBOSE ] && echo "old version, upgrade to 7.0!" > exit 1 > fi > else > [ $VERBOSE ] && echo "no database files found. creating..." > if [ ! -d $PGDATA ]; then > mkdir -p $PGDATA > chown postgres.postgres $PGDATA > fi > su postgres -c "/usr/bin/initdb --pglib=/usr/lib/pgsql --pgdata=$PGDATA" > fi > > pid=`pidof postmaster` > if [ $pid ]; then > [ $VERBOSE ] && echo "postmaster already running!" > exit 1 > fi > > rm -f /tmp/.s.PGSQL.* > su postgres -c "nohup /usr/bin/postmaster >> /var/log/postgresql 2>&1 &" > sleep 1 > > pid=`pidof postmaster` > if [ $pid ]; then > [ $VERBOSE ] && echo "ok [$pid]" > echo $pid > $PIDFILE > touch $LOCKFILE > else > [ $VERBOSE ] && echo "failed!" > [ -f $PIDFILE ] && rm -f $PIDFILE > [ -f $LOCKFILE ] && rm -f $LOCKFILE > exit 1 > fi > > if [ ! -d $PGDATA/base/cobalt ]; then > /usr/local/sbin/setup-postgres > fi > ;; > > stop) > if [ $VERBOSE ]; then > LINE1=`getmsg postgresql_stop_1` > LINE2=`getmsg postgresql_stop_2` > $LCD_STOP > $LCD_SWRITE "$LINE1" "$LINE2" &> /dev/null & > echo -n "$LINE1 $LINE2: " > fi > > pid=`pidof postmaster` > if [ $pid ]; then > if [ -s $PIDFILE ] && [ `cat $PIDFILE` != $pid ]; then > [ $VERBOSE ] && echo -n "process ID mismatch! " > fi > kill $pid > sleep 2 > killall /usr/bin/postgres >/dev/null 2>&1 > > [ $VERBOSE ] && echo "ok" > else > [ $VERBOSE ] && echo "not running!" > fi > > [ -f $PIDFILE ] && rm -f $PIDFILE > [ -f $LOCKFILE ] && rm -f $LOCKFILE > ;; > > status) > status postmaster > ;; > > restart) > EXTRA= > [ $VERBOSE ] || EXTRA=quiet > $0 stop $EXTRA > $0 start $EXTRA > ;; > > hard-restart) > $0 stop quiet > $0 start quiet > ;; > > *) > echo "Usage: postgresql {start|stop|status|restart} [quiet]" > exit 1 > > esac > > exit 0 > > > > > -- Darren Ferguson