What I don't see streaming working for is DR drills. I need to, in a
controlled manner, move the entire application to the secondary datacenter,
while keeping all the nodes in sync, make sure everything operates properly
from there (which means allowing database updates), then move it all back
to the primary datacenter, without losing sync on any slaves (this is a 2T
database, which I'm sure isn't the largest anyone has dealt with, but it
means that reseeding slaves is a multi-hour endeavour). With Slony, these
drills are easy: a single slonik command relocates the master to the DR
datacenter while keeping everything in sync, and when testing is complete,
another slonik command puts everything back the way it was, without any
data loss and with minimal chance for human error.
I guess I got your point :)
Agree to you now! :)
With v9.3 I think I would be easy to swap the roles for primary and DR. (I need to test this before I can say for sure).
But still it will be a pain if one needs to shift all the operations to DR (which is a a valid case, e.g. you would do that for testing the readiness of your DR site by doing a mock failover) and then shift back to Primary Site (assuming while operations were going on on DR site, primary site was kept down purposefully). This will involve taking a backup from DR to primary and then swapping the roles.
I guess this limitation will be soon waived off. I guess v9.4 or next one should have this feature (no backups as long as your wal_keep_segment is high enough to cater to your testing/mock failover window).
I agree slonik and few other utilities/tool around it administration/management is quite easy.
If you feel that the current implementation of streaming replication is
able to do that task, then I'll have to move up my timetable to re-evaluate
it. It _has_ been a few versions since I've taken a good look at it.
Given your expectation above, v9.3 is a good candidate. But you can afford to give it a miss.
You must try once v9.4 is out.
Regards
Sameer
Ashnik Pte. Ltd.
Singapore