Hello,
For backup restore solution, one could create a snapshot and use it as a template for later use. For example, if the changes can not be revoked, and something wrong went with the tests; creating a a database form a template is much faster than backup and restore.
Regards
On Thursday, January 30, 2014 11:22 PM, Adrian Klaver <adrian.klaver@xxxxxxxxx> wrote:
On 01/30/2014 02:12 PM, Tim Uckun wrote:
> Hi all.
>
> I have the following scenario I want to accomplish.
>
> In order to test a new branch of code I want to create a snapshot of the
> live database into a testing database. The code will be deployed after
> that and it may run some migrations which will change the schema of the
> database. The code is then tested using both automated testing and user
> acceptance testing (this stage may take hours or perhaps even days).
> During that time the users can change the data. After the branch is
> accepted by the users we would like to "reset" the database to the way
> it was before and perhaps test another branch.
>
> One obvious way to do this would be to do a backup/restore but as the
> database grows larger that process is taking too long. It would be
> great if we could do a streaming replica and then pause the replication,
> run our tests, and then reset the database to the point at which the
> replication was paused and restart the replication. Is that possible?
>
> Another option would be the try and leverage PITR. Create a checkpoint,
> run the migrations do your tests, roll back to everything to the start.
> This does seem possible to me although of course I am still stuck with
> the backup restore problem.
>
> Anything I missed? Surely there is a super clever trick I am missing here.
Well since you mention snapshots, one way I have seen it done on this
list is to use a file system that supports snapshots and use that.
--
Adrian Klaver
adrian.klaver@xxxxxxxxx
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
> Hi all.
>
> I have the following scenario I want to accomplish.
>
> In order to test a new branch of code I want to create a snapshot of the
> live database into a testing database. The code will be deployed after
> that and it may run some migrations which will change the schema of the
> database. The code is then tested using both automated testing and user
> acceptance testing (this stage may take hours or perhaps even days).
> During that time the users can change the data. After the branch is
> accepted by the users we would like to "reset" the database to the way
> it was before and perhaps test another branch.
>
> One obvious way to do this would be to do a backup/restore but as the
> database grows larger that process is taking too long. It would be
> great if we could do a streaming replica and then pause the replication,
> run our tests, and then reset the database to the point at which the
> replication was paused and restart the replication. Is that possible?
>
> Another option would be the try and leverage PITR. Create a checkpoint,
> run the migrations do your tests, roll back to everything to the start.
> This does seem possible to me although of course I am still stuck with
> the backup restore problem.
>
> Anything I missed? Surely there is a super clever trick I am missing here.
Well since you mention snapshots, one way I have seen it done on this
list is to use a file system that supports snapshots and use that.
--
Adrian Klaver
adrian.klaver@xxxxxxxxx
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general