Bruce Momjian wrote:
> David Garamond wrote:
>
>>Is there a feature similar to this currently in Postgres, or will there
>>be? Sometimes (like in a shared hosting environment), we cannot have the
>>luxury of hot-swapped RAID or expensive SAN, and it's nice to be able to
>>have a synchronous backup so that in case a disk fails, we can recover
>>to the last moment just before failure.
>>
>>Will PITR offer this?
>
> Pitr recovers from the last moment before failure. Not sure what
> shadowing is.
Sorry, should've at least described 'shadowing'. A shadow is a
synchronous page-level (I think) mirror file. That is, when you open a
database /disk1/dbname.fdb and then issue a:
> CREATE SHADOW 1 '/disk2/dbname.fdb';
> CREATE SHADOW 2 '/disk3/dbname.fdb';
then all 3 files will be kept synchronized at all times. Each subsequent
page write will go to all 3 files (if any of the write fails, the
transaction fails, so it's not unlike a synchronous replication).
Now suppose /disk1 fails, one of the shadow can be configured to
immediately take over as the master database, without any down time. We
can then add /disk4/dbname.fdb, for instance, to become a new shadow.
Alternatively, when a shadow fails, IB/Firebird can refuse further
transactions until there is another shadow coming up, so the database is
shadowed all the time.
--
dave