Successful installation of PostgreSQL

From: "Albert REINER" <areiner(at)tph(dot)tuwien(dot)ac(dot)at>
To: pgsql-ports(at)postgreSQL(dot)org
Subject: Successful installation of PostgreSQL
Date: 1999-07-29 21:37:00
Message-ID: 19990729233700.A6204@frithjof
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ports

I just succeeded in installing PostgreSQL according to the
installation instructions. Therein I find:

> 28. The Postgres team wants to keep Postgres
> working on all of the supported platforms. We
> therefore ask you to let us know if you did or did
> not get Postgres to work on you system. Please
> send a mail message to pgsql-ports(at)postgresql(dot)org
> (mailto:pgsql-ports(at)postgresql(dot)org) telling us the
> following:
> o The version of Postgres (v6.5.1, 6.5, beta
> 990318, etc.).

v6.5.1

> o Your operating system (i.e. RedHat v5.2 Linux
> v2.0.36).

Linux (SuSE 5.3), Kernel 2.0.35

> o Your hardware (SPARC, i486, etc.).

PC, AMD-K6 (233 MHz)

> o Did you compile, install and run the regression
> tests cleanly? If not, what source code did you

Yes, including bigtest (approx. 115 minutes).

> change (i.e. patches you applied, changes you
> made, etc.), what tests failed, etc. It is normal

failed: int2 and int4, due to different error message format.

I used configure with option "--with-mb=LATIN3", and the regression
tests complained about some missing files (latin3.sql or similar).

> to get many warning when you compile. You do not
> need to report these.

================================================================

Some comments on the INSTALL file:

> 7. If you are upgrading an existing system then kill
> the postmaster. Type
> $ ps -ax | grep postmaster

If it is installed, you can get the PID more easily and reliably via
pidof; on my system, using bash, it's simply

$ kill `/sbin/pidof postmaster`

or

$ kill $(/sbin/pidof postmaster)

> 14. Install the program. Type
> $ cd /usr/src/pgsql/src
> $ gmake install >& make.install.log &
> $ tail -f make.install.log
> The last line displayed will be
> gmake[1]: Leaving directory
> `/usr/src/pgsql/src/man'

This did not happen for me. Anyway, there is a "cat ../register.txt"
at the end of the makefile, and /usr/src/pgsql/src/man is probably
already taken care of in step 12 ("Install the man and HTML
documentation").

> 17. If it has not already been done, then prepare
> account postgres for using Postgres. Any account
...
> variables) by putting these additional lines
> to your login environment before starting
> postmaster:
> LC_COLLATE=C
> LC_CTYPE=C
> LC_COLLATE=C
> export LC_COLLATE LC_CTYPE LC_COLLATE

IMHO there's really no point setting LC_COLLATE twice.

> 21. Run postmaster in the background from your
> Postgres superuser account (typically account
> postgres). Do not run postmaster from the root
> account!
> Usually, you will want to modify your computer so
> that it will automatically start postmaster
> whenever it boots. It is not required; the

The solution for Linux in the contrib-directory would not work for my
system (SuSE 5.3, but probably also the more current SuSEs); my simple
solution (from my installation of version 6.3.2) is as follows:

/etc/rc.d/init.d/functions -------------------------------------
#!/bin/sh
#
# postgres.init Start postgres back end system.
#
# Author: Thomas Lockhart <lockhart(at)alumni(dot)caltech(dot)edu>
# modified from other startup files in the RedHat Linux distribution
# ------- modified Albert Reiner, 19990425:
#
PGACCOUNT="postgres" # the postgres account (you called it something else?)
POSTMASTER="postmaster" # this probably won't change

PGLOGFILE="/home/postgres/log.postgres"

#PGOPTS="-i -B 256" # -i to enable TCP/IP rather than Unix socket
#PGOPTS="-B 256" # Do we really need 256 buffers? a.r.
PGOPTS=

# See how we were called.
case "$1" in
start)
if [ -f ${PGLOGFILE} ]
then
mv ${PGLOGFILE} ${PGLOGFILE}.old
fi
echo -n "Starting postgres: "
# force full login to get path names
su --login --command="$POSTMASTER $PGOPTS >& $PGLOGFILE &" \
$PGACCOUNT > /dev/null &
sleep 5
pid=`/sbin/pidof ${POSTMASTER}`
echo -n "${POSTMASTER} [$pid]"
echo
;;
stop)
echo -n "Stopping postgres: "
pid=`/sbin/pidof ${POSTMASTER}`
if [ "$pid" != "" ] ; then
echo -n "${POSTMASTER} [$pid]"
kill -TERM $pid
sleep 1
fi
echo
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac

exit 0
----------------------------------------------------------------

This does not rely on /etc/rc.d/init.d/functions (non-existent on SuSE
5.3) or some environment variables set by Red Hat. To use this script
one has to:

*) login as root

*) copy the script (possibly after editing to suit one's needs)
to /sbin/init.d/postgres

*) # cd rc2.d

*) # ln -s ../postgres K10postgres

*) # ln -s ../postgres S85postgres

*) # cd /sbin/init.d/rc3.d

*) # ln -s ../postgres K10postgres

*) # ln -s ../postgres S85postgres

The numbers in the links' names (I used 85 for Starting and 10 for
Killing) can be chosen differently, but we don't want the postmaster
to run without a network enabled; hence the S..postgres-links should
have a rather high number (so that it is started late; less than the
number of zzreached), and the K..postgres-links should have a
relatively small number (so that postmaster is killed early during
shutdown).

> 26. Clean up after yourself. Type
> $ rm -rf /usr/src/pgsql_6_5
> $ rm -rf /usr/local/pgsql_6_5

/usr/src (and/or /usr/local) may be owned by root, so one may have to
su first.

I hope that some of the above remarks are of interest to you.

Albert Reiner.

--

---------------------------------------------------------------------------
Post an / Mail to / Skribu al: Albert Reiner <areiner(at)tph(dot)tuwien(dot)ac(dot)at>
---------------------------------------------------------------------------

Browse pgsql-ports by date

  From Date Subject
Next Message Tom Lane 1999-07-29 22:02:29 Re: [PORTS] HP-UX port
Previous Message Renato Battistin 1999-07-29 21:04:11 none