[Fedora] Getting up and running with postgres in 2 mins

Posted by {"name"=>"Palash Ray", "email"=>"paawak@gmail.com", "url"=>"https://www.linkedin.com/in/palash-ray/"} on May 03, 2009 · 2 mins read

I am very fascinated with Postgres, right since I hard about it, around 2002. Compared to MySQL 3.25, which was and perhaps still is, more popular, Postgres fared a lot better in terms of SQL-compliance, foreign-key support [which was lacking in MySQL 3.25] etc. Also, Postgres is an ORDBMS, just like Oracle. You can do lot of cool stuff with Postgres.
For this exercise, we will assume:
Postgres user name = mypguser
Postgres data directory = /usr/local/pgsql/data
If you are using Fedora, Postgres will be installed by default. To verify, do a find on initdb and psql. If you do not have it installed, install it with yum or grab a tar ball from here and follow the instructions. Its pretty straight forward.
After you have installed, run the following commands:
#adduser mypguser
#passwd mypguser
#mkdir /usr/local/pgsql/data
#chown mypguser /usr/local/pgsql/data
#su - mypguser
$initdb -D /usr/local/pgsql/data

Starting Postgres

Postmaster should always be started as the underprivileged user mypguser.
$postgres -D /usr/local/pgsql/data >logfile 2>&1 &
To create a database:
createdb somedatabase
To start the command line tool:
psql somedatabase

Autostart Postgres as a service

Fedora should already have this script in /etc/init.d/postgresql.
The problem is that this assumes that the postgres user name is postgres and the data is located in /var/lib/pgsql/data. You can edit the script suitably and then enable it as a service, so that postmaster starts everytime your system boots up. You can also use the script that I have modified, just declared the user and data as variables. You can find it here.

Installing PgAdmin

PgAdmin is a nice gui frontend for administratin Postgres. You have to first add its yum repository. Follow these steps [you must be super user].
1. download rpm and add yum repository:
http://yum.pgsqlrpms.org/reporpms/repoview/letter_p.group.html
2. yum install postgis
3. yum install pgadmin3
You can also use phpPgAdmin.
For this article, I was inspired by:
http://www.postgresonline.com/journal/index.php?/archives/45-An-Almost-Idiots-Guide-to-PostgreSQL-YUM.html