Here, I'm attempting to explain how to install PostgreSQL & phpPgAdmin briefly and an attempt to perform database dump and restore; which should be a basic functionality but is not present in pgadmin.
Here, I'm presuming that you already have a Linux machine with Ubuntu(likely v11.10) and installing the latest version of PostgreSQL(v9.1.1).
Installation
Steps to install PostgreSQL:sudo apt-get install postgresqlor
sudo apt-get install postgresql-9.1
Steps to install GUI Administration application:
sudo apt-get install pgadmin3
Steps to install PHP based Web Administration site (like phpMyAdmin for MySQL database):
sudo apt-get install phppgadmin
Configuration
Steps to configure PostgreSQL to access it via localhost:Edit the file
postgresql.conf
as follows:
sudo vi /etc/postgresql/9.1/main/postgresql.confUn-comment the following line or by add it at the end of the file:
listen_addresses = 'localhost'Save and close the file.
Edit the file
pg_hba.conf
as follows:
sudo vi /etc/postgresql/9.1/main/pg_hba.confReplace
local all all ident sameuser
with:
local all all md5
Changing root users password
In PostgreSQL, root user ispostgres
which by default, does not have any password.Enter following line in terminal to set a password for the default root user
postgres
:sudo -u postgres psql
ALtER USER postgres password '(or)'
ALTER USER postgres with encrypted password ''
\q
Creating a new User & a new Database
sudo -u postgres createuser -d -R -P new_username // Enter Password for the created new user. // Set the user permissions as admin or normal user
sudo -u postgres createdb -O new_username new_database_name
This will create a new user, with username "new_username" and create a new database "new_database_name" and set "new_username" as it’s owner.
Configure phpPgAdmin
Assuming that we have already installed phpPgAdmin by:sudo apt-get install phppgadminThen, configure Apache:
sudo vi /etc/apache2/apache2.confAdd following line at the end of the file:
# Include Phppgadmin Include /etc/phppgadmin/apache.conf
Restart apache2 and postgresql to reflect changes
sudo /etc/init.d/apache2 restart sudo /etc/init.d/postgresql restartor
sudo service apache2 restart sudo service postgresql restart
Access phpPgAdmin
via http://localhost/phppgadmin we can access phpPgAdmin in our browser. We can log-in by various users we created like(new_username).
Use GUI Administration application
Run following command in terminal:
pgadmin3Access from Terminal
Run following command in terminal:
psql
Performing Dump or Restore of PostgreSQL database
Before performing the ff commands, you should log in as postgres first:sudo su postgresCreating Dumps:
//dump the roles pg_dumpall -g -U postgres > roles.sqlDump the schema
pg_dump -Fp -s -v -f schema.sql -U postgresDump the data
pg_dump -Fc -v -f data.dump -U postgres
How to restore?
psql -f roles.sql psql -f schema.sqlpg_restore -a -d -Fc data.dump
Installing Extensions
sudo apt-get install postgresql-contrib postgresql-contrib-9.1Downloading the postgresql-contrib packages will give the ability to use the following five commands:
psql-c "CREATE EXTENSION tablefunc" psql -c "CREATE EXTENSION fuzzystrmatch" psql -c "CREATE EXTENSION pg_trgm" psql -c "CREATE EXTENSION cube" psql -c "CREATE EXTENSION dict_xsyn"
References
https://help.ubuntu.com/8.04/serverguide/C/postgresql.html
http://solyaris.wordpress.com/2008/08/09/setup-postgres-in-ubuntu/
https://help.ubuntu.com/community/phpPgAdmin
http://bdhacker.wordpress.com/2011/05/06/postgresql-phppgadmin-php5-ubuntu/
http://czetsuya-tech.blogspot.in/2012/06/how-to-setup-postgresql-in-ubuntu-1110.html
http://forums.pragprog.com/forums/202/topics/10089
Cheers :)
I think Valentina Studio is better free tool for Ubuntu, linux, windows and Mac OX S http://www.valentina-db.com/en/valentina-studio-overview
ReplyDeleteAs suggested above, Valentina Studio is a better option as it has a rich User Friendly environment to manage databases (here postgresql). But, as its just a trail or demo version, it can't be used in all possible environment. Anyways, thank you very much for your suggestion.
DeleteExcellent guide thanks! One comment. When you are all done, you can only manage phppgadmin locally. To fix this:
ReplyDeletevi /etc/apache2/conf.d/phppgadmin
#uncomment the "allow from all"
If you do not want to "allow from all" enter a new line:
allow from yourIP/mask
Thanks for the compliment and comment Tontech.
DeleteNot so far I have found new cool tool to work with PostgreSQL on ubuntu — Valentina Studio. Its free edition can do things more than many commercial tools!!
ReplyDeleteI very recommend check it. http://www.valentina-db.com/en/valentina-studio-overview