What is the best practice to make sure the DDL operation will
    fail, possibly after a timeout, if one of the node is down?


statement_timeout

Ok. Thank-you for pointing this. I have just tried it, and this work great even for nodes that are not properly power off (plug removed).

    I could check the state of the node before issuing the DDL
    operation, but this solution is far from being perfect as the node
    may fail right after this.


Correct, but it's still useful to do.

I'd check to see all nodes are connected in pg_stat_replication then I'd issue the DDL with a statement_timeout set.

Ok. For the first check, I was using |bdr.bdr_test_remote_connectback(/peer_dsn/, /local_dsn/), getting the dsn from the bdr.bdr_nodes table; but using the |pg_stat_replication table is problably quicker and simpler.

Thank-you again,

Sylvain

Reply via email to