%general-entities; ]> Postgre<acronym>SQL</acronym>-&postgresql-version; Introduction to <application>Postgre<acronym>SQL</acronym></application> PostgreSQL is an advanced object-relational database management system (ORDBMS), derived from the Berkeley Postgres database management system. Package information Download (HTTP): Download (FTP): Download size: &postgresql-size; Estimated Disk space required: &postgresql-buildsize; Estimated build time: &postgresql-time; <application>Postgre<acronym>SQL</acronym></application> dependencies Optional , , , , , , krb4, or , Ant and Rendezvous Installation of <application>Postgre<acronym>SQL</acronym></application> Install PostgreSQL with the following commands: ./configure --prefix=/usr && make && make install If you are upgrading an existing system and are going to install the new files over the old ones, then you should back up your data, shut down the old server and follow the instructions in the official PostgreSQL documentation. Initialize a database cluster with the following commands: mkdir -p /var/pgsql/data && useradd -d /var/pgsql/data postgres && chown postgres /var/pgsql/data && su - postgres -c '/usr/bin/initdb -D /var/pgsql/data' Start the database server with the following command: su - postgres -c '/usr/bin/postmaster -D /var/pgsql/data > \ /var/pgsql/data/logfile 2>&1 &' Create a database and verify the installation: su - postgres -c '/usr/bin/createdb test' && echo "create table t1 ( name varchar(20), state_province varchar(20) );" \ | (su - postgres -c '/usr/bin/psql test ') && echo "insert into t1 values ('Billy', 'NewYork');" \ | (su - postgres -c '/usr/bin/psql test ') && echo "insert into t1 values ('Evanidus', 'Quebec');" \ | (su - postgres -c '/usr/bin/psql test ') && echo "insert into t1 values ('Jesse', 'Ontario');" \ | (su - postgres -c '/usr/bin/psql test ') && echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test') Command explanations useradd -d /var/pgsql/data postgres: Add an unprivileged user to run the database server. createdb test, create table t1 , insert into t1 values..., select * from t1: Create a database, add a table to it, insert some rows into the table and select them to verify that the installation is working properly. Configuring <application>Postgre<acronym>SQL</acronym></application> Config files $PGDATA/pg_ident.con, $PGDATA/pg_hba.conf, $PGDATA/postgresql.conf The PGDATA environment variable is used to distinguish database clusters from one another by setting it to the value of the directory which contains the cluster desired. The three configuration files exist in every PGDATA/ directory. Details on the format of the files and the options that can be set in each can be found in . Install the /etc/rc.d/init.d/postgresql init script included in the package. make install-postgresql Contents The PostgreSQL package contains clusterdb, createdb, createlang, createuser, dropdb, droplang, dropuser, ecpg, initdb, initlocation, ipcclean, pg_config, pg_controldata, pg_ctl, pg_dump, pg_dumpall, pg_encoding, pg_id, pg_resetxlog, pg_restore, pgtclsh, pgtksh, pltcl_delmod, pltcl_listmod, pltcl_loadmod, postgres, postmaster, psql, vacuumdb, libecpg, libpgtcl, libpgtypes, libpq and various charset modules. Description clusterdb clusterdb is a utility for reclustering tables in a PostgreSQL database. createdb createdb creates a new PostgreSQL database. createlang createlang defines a new PostgreSQL procedural language. createuser createuser defines a new PostgreSQL user account. dropdb dropdb removes a PostgreSQL database. droplang droplang removes a PostgreSQL procedural language. dropuser dropuser removes a PostgreSQL user account. ecpg ecpg is the embedded SQL preprocessor. initdb initdb create a new database cluster. initlocation initlocation creates a secondary database storage area. ipcclean ipcclean removes shared memory and semaphores left over by an aborted database server. pg_config pg_config retrieves PostgreSQL version information. pg_controldata pg_controldata returns information initialized during initdb, such as the catalog version and server locale. pg_ctl pg_ctl controls stopping and starting the database server. pg_dump pg_dump dumps database data and metadata into scripts which are used to recreate the database. pg_dumpall pg_dumpall recursively calls pg_dump for each database in a cluster. pg_resetxlog pg_resetxlog clears the write-ahead log and optionally resets some fields in the pg_control file. pg_restore pg_restore creates databases from dump files created by pg_dump. pgtclsh pgtclsh is a Tcl shell interface extended with PostgreSQL database access functions. pgtksh pgtksh is a Tcl/Tk shell interface extended with PostgreSQL database access functions. postgres postgres is a single user database server, generally used for debugging. postmaster postmaster is the multi-user database daemon. psql psql is a console based database shell. vacuumdb vacuumdb compacts databases and generates statistics for the query analyzer.