Re: Creating a hot copy of PostgreSQL database - Mailing list pgsql-novice

From Payal Singh
Subject Re: Creating a hot copy of PostgreSQL database
Date
Msg-id 20140721215327.GA11978@payal-ThinkPad-T520
Whole thread Raw
In response to Re: Creating a hot copy of PostgreSQL database  (Shreesha <shreesha1988@gmail.com>)
List pgsql-novice
Re-using a backup script for MySQL to make Postgres backups might not be a good idea. Besides, it shouldn't take much
effortto create a new script for filesystem level backup anyways. Of course, it depends on what filesystem you're
using.If your filesystem provides snapshots option, then it will be as simple as: 
1. issue pg_start_backup('label');
2. take snapshot of the filesystem
3. issue pg_stop_backup();

If not, you can look at other backup options like using pg_basebackup with pitr, or pg_dump.

On Mon, Jul 21, 2014 at 02:39:32PM -0700, Shreesha wrote:
> @Albe Laurenz:
> 'cache' was a typo. I meant file system level backup as mentioned here - (
> http://www.postgresql.org/docs/9.3/static/backup-file.html).
> It would be really helpful if you can give steps for automating the copy of
> PostgreSQL database cluster.
>
> To give a clear picture of what I am currently trying to do, Please find
> below:
> The system is using MySQL database and currently, we are doing backup
> ourselves with the help of a module which does the following:
> 1) LOCK TABLES which will internally create a global read lock for all the
> tables.
> 2) FLUSH TABLES
> 3) Iterate through all the tables in each database and create a copy of
> those files in destination location
> 4) UNLOCK the tables.
> Repeat these steps for every database.
>
> We are migrating from MySQL to PostgreSQL and I was trying to figure out
> the corresponding alternative in pg database.
> I wanted to know if there is any way I can reuse the current module for
> creating the database backup. So following are my concerns:
> Is there way to create a global read lock on all the tables in a database
> and ensure that all the active transactions are halted till UNLOCK? if so,
> how?
>
> Even upon going through the documentation, I couldn't get this concrete
> thing here. Appreciate your help.
>
>
>
> On Mon, Jul 21, 2014 at 12:38 AM, Albe Laurenz <laurenz.albe@wien.gv.at>
> wrote:
>
> > Shreesha wrote:
> > > I was looking for an option of taking the hot copy of the pgsql database
> > periodically or with manual
> > > trigger. In order to accomplish the same, I need to make sure that all
> > the active transactions are
> > > halted for some time.
> > > In MySQL I could do this with FLUSH with READ LOCK. Once the backup is
> > taken, I could UNLOCK the
> > > tables to continue the normal course of database operations.
> > >
> > > How can I do this in PostgreSQL database?
> > >
> > >
> > > Any information on this regard would be highly appreciated.
> > >
> > >
> > > Thanks,
> > > Shreesha.
> > >
> > > P.S.
> > > I happened to explore Backup and Restore options provided by PostgreSQL.
> > > a) Taking SQL dump would result in a slower operation and our system
> > wouldn't be able to leverage the
> > > performance delay caused by this operation.
> > > b) File system level cache wouldn't be feasible as I don't want my the
> > database server to be shutdown
> > > for taking the database backup and restore operation.
> >
> > What do you mean by that? How can you use the cache for creating a copy?
> >
> > > c) In order to accomplish the archival of WAL logs, I would anyway want
> > to halt the database which
> > > brings me to the same problem again.
> >
> > I don't see your point c)
> > The database server will automatically archive WALs any way you want, and
> > there
> > is no need to stop or halt the database for that.
> >
> > To create a copy of a PostgreSQL database cluster, take an online backup
> > and restore it
> > to some point in time after the end of the backup using the WAL archives.
> >
> > I am sure that you can automate this if necessary.
> >
> > Yours,
> > Laurenz Albe
> >
>
>
>
> --
> ~Shreesha.


pgsql-novice by date:

Previous
From: Shreesha
Date:
Subject: Re: Creating a hot copy of PostgreSQL database
Next
From: Daniel Staal
Date:
Subject: Re: Creating a hot copy of PostgreSQL database