Postgresql
How to install Postgres 8
Enable centosplus repository and install postgres (at the time of writing this is version 8.1.9)
yum --enablerepo=centosplus install postgresql postgresql-contrib postgresql-devel postgresql-docs postgresql-pl postgresql-python postgresql-test
After install, ignore the post-upgrade and restart message
Start postgres
/etc/init.d/postgresql start
Then make the necessary custom templates:
mkdir -p /etc/e-smith/templates/var/lib/pgsql/data mkdir -p /etc/e-smith/templates-custom/var/lib/pgsql/data cp /var/lib/pgsql/data/postgresql.conf /etc/e-smith/templates/var/lib/pgsql/data cp /var/lib/pgsql/data/pg_hba.conf /etc/e-smith/templates/var/lib/pgsql/data cp /var/lib/pgsql/data/postgresql.conf /etc/e-smith/templates-custom/var/lib/pgsql/data cp /var/lib/pgsql/data/pg_hba.conf /etc/e-smith/templates-custom/var/lib/pgsql/data
Now login as postgres user:
su postgres
Then access to superuser database, set a password and exit.
psql -U postgres -d template1 alter user postgres with encrypted password 'add_your_pass_here'; \q exit
Edit the file /etc/e-smith/templates-custom/var/lib/pgsql/data/postgresql.conf remove # and change the following settings:
superuser_reserved_connections=2 ssl = on password_encryption = on listen_addresses = 'localhost'
Then copy your server SSL keys:
cd /var/lib/pgsql/data cp /etc/httpd/conf/ssl.crt/server.crt . cp /etc/httpd/conf/ssl.key/server.key . chown postgres:postgres server.*
Edit the file /etc/e-smith/templates-custom/var/lib/pgsql/data/pg_hba.conf and change the following settings:
local all all md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5
and add at the end:
host all all 0.0.0.0 255.255.255.255 reject
Be sure to add an extra white line at the end.
Expand template:
expand-template /var/lib/pgsql/data/pg_hba.conf expand-template /var/lib/pgsql/data/postgresql.conf
Restart with new settings:
/etc/init.d/postgresql stop /etc/init.d/postgresql start
and add the symlinks to start automatically:
ln -s /etc/init.d/postgresql /etc/rc.d/rc7.d/S56postgresql ln -s /etc/init.d/postgresql /etc/rc.d/rc6.d/K03postgresql
To ensure everything is all right:
signal-event post-upgrade signal-event reboot
Testing your environment
To test if you have set postgres password correctly:
su postgres psql -U postgres -d template1
and enter the password you have set above. If all is correct, you should enter the postgres console. Then exit:
\q
and exit from postgres user:
exit
References:
How to Remove
rpm -e postgresql.i386 postgresql-contrib postgresql-devel postgresql-docs postgresql-pl postgresql-test postgresql-server postgresqlclient7 postgresql-python