Once PostgreSQL is installed on your Linux server, it's important to create the database installation before starting your PostgreSQL server.
To create the database installation, use the following command:
[root@deep] /# su postgres
[postgres@deep /]$ initdb --pglib=/usr/lib/pgsql --pgdata=/var/lib/pgsql
|
We are initializing the database system with username postgres uid=40.
This user will own all the files and must also own the server process.
Creating Postgres database system directory /var/lib/pgsql/base
Creating template database in /var/lib/pgsql/base/template1
Creating global classes in /var/lib/pgsql/base
Adding template1 database to pg_database...
Vacuuming template1
Creating public pg_user view
Creating view pg_rules
Creating view pg_views
Creating view pg_tables
Creating view pg_indexes
Loading pg_description
|
[postgres@deep /]$ chmod 640 /var/lib/pgsql/pg_pwd
[postgres@deep /]$ exit
|
The
--pglib command will specify where the library directory of PostgreSQL resides in the system, and the
--pgdata command will specify where the database files must reside
for this installation on Linux.
:
Do not create the database installation as root! This would be a major security hole.
Please don't foreget to Cleanup later:
[root@deep] /# cd /var/tmp
[root@deep ]/tmp# rm -rf postgresql-version/ postgresql-version.tar.gz
|
Remove the egcs-c++-version.i386.rpm package to save space.
[root@deep] /# rpm -e egcs-c++
|
The rm command will remove all the source files we have used to compile and install PostgreSQL. It will also remove the PostgreSQL compressed archive from the /var/tmp directory.
The rpm -e command will remove the egcs-c++ package we installed to compile the PosgreSQL Server. Note that the egcs-c++ package is required only for compiling programs like
PostgreSQL and can be uninstalled safely after successful compilation of PostgreSQL.