How to Backup and Restore Postgresql Database Using Pg Dump And
Total Page:16
File Type:pdf, Size:1020Kb
How To Backup and Restore PostgreSQL Database Using pg_dump and... http://www.thegeekstuff.com/2009/01/how-to-backup-and-restore-postg... Backup Data to the Cloud See how Hitachi Cloud Storage can free up valuable I.T. resources. HDS.com/Cloud Oracle Tutor Training Learn Oracle Tutor - Instructor Led Fast Track Web based course vikat.ca EMC Solutions for Oracle Want 44% More Performance and 90% More Efficiency? See How with EMC. www.emc.com/Oracle-Efficiency Home About Free eBook Archives Best of the Blog Contact Ads by Google Backup Restore Deleted Data Dump Backup SQL Database How To Backup and Restore PostgreSQL Database Using pg_dump and psql by Ramesh Natarajan on January 21, 2009 This is a guest post written by SathiyaMoorthy pg_dump is an effective tool to backup postgres database. It creates a *.sql file with CREATE TABLE, ALTER TABLE, and COPY SQL statements of source database. To restore these dumps psql command is enough. Using pg_dump, you can backup a local database and restore it on a remote database at the same time, using a single command. In this article, let us review several practical examples on how to use pg_dump to backup and restore. For the impatient, here is the quick snippet of how backup and restore postgres database using pg_dump and psql: Backup: $ pg_dump -U {user-name} {source_db} -f {dumpfilename.sql} Restore: $ psql -U {user-name} -d {desintation_db}-f {dumpfilename.sql} How To Backup Postgres Database 1. Backup a single postgres database This example will backup erp database that belongs to user geekstuff, to the file mydb.sql $ pg_dump -U geekstuff erp -f mydb.sql 1 de 9 21/06/2011 07:14 p.m. How To Backup and Restore PostgreSQL Database Using pg_dump and... http://www.thegeekstuff.com/2009/01/how-to-backup-and-restore-postg... It prompts for password, after authentication mydb.sql got created with create table, alter table and copy commands for all the tables in the erp database. Following is a partial output of mydb.sql showing the dump information of employee_details table. -- -- Name: employee_details; Type: TABLE; Schema: public; Owner: geekstuff; Tablespace: -- CREATE TABLE employee_details ( employee_name character varying(100), emp_id integer NOT NULL, designation character varying(50), comments text ); ALTER TABLE public.employee_details OWNER TO geekstuff; -- -- Data for Name: employee_details; Type: TABLE DATA; Schema: public; Owner: geekstuff -- COPY employee_details (employee_name, emp_id, designation, comments) FROM stdin; geekstuff 1001 trainer ramesh 1002 author sathiya 1003 reader \. -- -- Name: employee_details_pkey; Type: CONSTRAINT; Schema: public; Owner: geekstuff; Tablespace: -- ALTER TABLE ONLY employee_details ADD CONSTRAINT employee_details_pkey PRIMARY KEY (emp_id); 2. Backup all postgres databases To backup all databases, list out all the available databases as shown below. Login as postgres / psql user: $ su postgres List the databases: $ psql -l List of databases Name | Owner | Encoding -----------+-----------+---------- article | sathiya | UTF8 backup | postgres | UTF8 erp | geekstuff | UTF8 geeker | sathiya | UTF8 Backup all postgres databases using pg_dumpall: You can backup all the databases using pg_dumpall command. $ pg_dumpall > all.sql Verify the backup: Verify whether all the databases are backed up, $ grep "^[\]connect" all.sql \connect article \connect backup \connect erp 2 de 9 21/06/2011 07:14 p.m. How To Backup and Restore PostgreSQL Database Using pg_dump and... http://www.thegeekstuff.com/2009/01/how-to-backup-and-restore-postg... \connect geeker 3. Backup a specific postgres table $ pg_dump --table products -U geekstuff article -f onlytable.sql To backup a specific table, use the –table TABLENAME option in the pg_dump command. If there are same table names in different schema then use the –schema SCHEMANAME option. Systems Biology Grants agilent.com/emerginginsights Agilent Bioinformatics Grants Genomics Transcriptomics Data Int. Reboot Restore Software www.RebootRestore.com Restore On Reboot + "Freeze Space" Area To Save Files From Restoration Build, Brand, and Bill www.longjump.com Whitelabeled SaaS App Platform to get you to market 10x faster PostgreSQL Solutions www.postgresql-support.de PostgreSQL Training, Support Replication, High-Availability How To Restore Postgres Database 1. Restore a postgres database $ psql -U erp -d erp_devel -f mydb.sql This restores the dumped database to the erp_devel database. Restore error messages While restoring, there may be following errors and warning, which can be ignored. psql:mydb.sql:13: ERROR: must be owner of schema public psql:mydb.sql:34: ERROR: must be member of role "geekstuff" psql:mydb.sql:59: WARNING: no privileges could be revoked psql:mydb.sql:60: WARNING: no privileges could be revoked psql:mydb.sql:61: WARNING: no privileges were granted psql:mydb.sql:62: WARNING: no privileges were granted 2. Backup a local postgres database and restore to remote server using single command: $ pg_dump dbname | psql -h hostname dbname The above dumps the local database, and extracts it at the given hostname. 3. Restore all the postgres databases $ su postgres $ psql -f alldb.sql 4. Restore a single postgres table The following psql command installs the product table in the geek stuff database. 3 de 9 21/06/2011 07:14 p.m. How To Backup and Restore PostgreSQL Database Using pg_dump and... http://www.thegeekstuff.com/2009/01/how-to-backup-and-restore-postg... $ psql -f producttable.sql geekstuff This article was written by SathiyaMoorthy, developer of Enterprise Postgres Query Analyser , an efficient tool for parsing postgresql log to generate html report, which can be used for fine tuning the postgres settings, and sql queries. The Geek Stuff welcomes your tips and guest articles . Bookmark/Share this Article Leave a Comment If you enjoyed this article, you might also like.. 1. 50 Linux Sysadmin Tutorials 5 Best Wireless Routers 2. 50 Most Frequently Used Linux Commands (With 5 Best Digital SLR Cameras Examples) 5 Best Portable GPS Navigators for 3. Mommy, I found it! – 15 Practical Linux Find Command Cars Examples 5 Best High Definition Digital 4. Turbocharge PuTTY with 12 Powerful Add-Ons Camcorders 5. 12 Amazing and Essential Linux Books To Enrich Your 5 Best Point and Shoot Digital Brain Cameras Tags: backup , Backup PostgreSQL Database , pg_dump , pg_dump command , pg_dumpall , pg_dumpall command , Postgres , Postgres database backup , Postgres DB Backup , Postgres DB Restore , PostgreSQL database , psql , psql command , restore , Restore PostgreSQL Database 4 de 9 21/06/2011 07:14 p.m. How To Backup and Restore PostgreSQL Database Using pg_dump and... http://www.thegeekstuff.com/2009/01/how-to-backup-and-restore-postg... { 8 comments… read them below or add one } 1 user January 22, 2009 at 5:56 am simple and best 2 Crovar January 22, 2009 at 11:22 am Nice article… 3 rocio August 3, 2009 at 10:55 am please, tell how can i backup and restore only the user roles, i tryed to use pg_dumpall but I couldn`t restore the file 4 augustine October 2, 2009 at 9:24 am shall try the commands given then i shall modrate 5 Selvaganeshan October 11, 2009 at 11:52 pm Can i take backup for two tables in single command line pg_dump -t table1 -t table2 -U db db -f table.sql Above command is taking dump for only table2 6 shikin August 12, 2010 at 11:19 pm hi…i just backup all postgres on linux and what to restore to postgres window… -how to restore to postgres window if i use pg_dumpall command on linux? -how can i get the data backup? -how to i restore the backup on postgres window? Please help me…. 7 Saad September 21, 2010 at 1:38 am This is very easy understandable article. i want to take backup of some tables from another pg server and then want to restore it another server , can any one help me ? Saad 8 Lacy October 10, 2010 at 5:35 am Thanks for this great article. Easy to understand. Leave a Comment Name E-mail Website 5 de 9 21/06/2011 07:14 p.m. How To Backup and Restore PostgreSQL Database Using pg_dump and... http://www.thegeekstuff.com/2009/01/how-to-backup-and-restore-postg... Notify me of followup comments via e-mail Previous post: Free eBook: Linux 101 Hacks Next post: Overview Of PoE – Power Over Ethernet Concepts and Devices List Sign up for our free email newsletter [email protected] Sign Up RSS Twitter Facebook Search Systems Biology Grants Agilent Bioinformatics Grants Genomics Transcriptomics Data Int. agilent.com/emerginginsights PostgreSQL Solutions PostgreSQL Training, Support Replication, High-Availability www.postgresql-support.de EMC Solutions for Oracle Gain 90% More Efficiency with EMC Solutions for Oracle. Free Overview www.emc.com/Oracle-Efficiency Reboot Restore Software Restore On Reboot + "Freeze Space" Area To Save Files From Restoration www.RebootRestore.com EBOOKS 6 de 9 21/06/2011 07:14 p.m. How To Backup and Restore PostgreSQL Database Using pg_dump and... http://www.thegeekstuff.com/2009/01/how-to-backup-and-restore-postg... Systems Biology Grants Agilent Bioinformatics Grants Genomics Transcriptomics Data Int. agilent.com/emerginginsights EMC Solutions for Oracle Want 44% More Performance and 90% More Efficiency? See How with EMC. www.emc.com/Oracle-Efficiency Build, Brand, and Bill Whitelabeled SaaS App Platform to get you to market 10x faster www.longjump.com PHP Code Generator Rapid WEB application development Forms, Reports, Grids, Charts, PDF. www.scriptcase.net POPULAR POSTS 12 Amazing and Essential Linux Books To Enrich Your Brain and Library 50 UNIX / Linux Sysadmin Tutorials