Context
I'm currently looking for and comparing different options for sharding data from a Postgres database into multiple ones.
The end result may be something like having instances of a web application in different regions (one in Europe, one in North America, etc.) and, with the aim of avoiding a Europe instance talk to a Postgres DB in North America for example, likely DB instances located similarly.
Options like the Citus DB extension or doing sharding through the use of foreign data wrappers seem promising. My question is about the latter option.
These slides (specifically, Slide 13) describe an architecture using foreign data wrappers where clients may contact any one Postgres DB instance and each one of these instances may act as a coordinator node as well as a data node, where data is sharded between all those nodes. Yet, the slides mark this as being something that will come "in the future". The examples of the presentation seem to be based on Postgres 9.6.
Question
I have not been able to find out whether the scenario described, with multiple coordinator nodes, is possible in Postgres 10 or if that is something that may be possible only in Postgres 11 or later.
So my question is, is it possible with Postgres 10? If features are currently missing for achieving this, what are they?
My worry about implementing sharding with foreign data wrappers if only one coordinator node can be present is that it would put too much pressure on that one node and that it would not be optimally located for all instances of the web application that would make use of it.