On 26 January 2016 at 19:18, Sebastien Diemer < sebastien.die...@polyconseil.fr> wrote:
> It sounds like you must be running on PostgreSQL 9.4. > > Indeed I am on PostgreSQL 9.4, I omitted this important point. > > I'll update the docs to mention the extra step on 9.4. > You'll need to drop the subscriber database and re-create it. Use a new >> node name. > > Seems to work but I still do not really understand what was wrong in the > first place though. > Thanks for your help Craig ! > It's because internally pglogical relies on pg_dump and pg_restore to set up the initial database state. If it fails partway through a pg_restore there's no sensible way to undo those changes, especially since we have to do it in a number of steps to achieve a partial restore. A cleaner handling of this really requires the ability to use pg_dump's functionality over a normal protocol connection from SQL, or at least as a library. The error should probably get a HINT to say that an incomplete restore means the DB may have to be dropped and recreated. It's all a bit messy, since we support multiple upstreams and support writes directly into the downstream. So you actually can't always just drop the downstream. A really good solution to this needs the ability to compare various objects (type definitions, tables, etc), the ability to extract just a required subset of dependencies from a database and other complexities. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services