From: Alvaro Herrera > Maybe an easy (hah) thing to do is use 2PC for DDL, agree on a OID > that's free on every node, then create the object in all servers at the > same time. We currently use the system-wide OID generator to assign the > OID, but seems an easy thing to change (much harder is to prevent > concurrent creation of objects using the arranged OID; maybe can reuse > speculative tokens in btrees for this).
Would it mean that DDL execution requires all (primary) nodes to be running? I don't say it's an immediate problem yet, but FYI, Oracle Sharding records all DDL statements and re-send them to the down nodes later. > Doing this imposes a cost at > DDL-execution-time only, which seems much better than imposing the cost > of translating name to OID on every server for every query. Agreed. Regards MauMau