That behavior would be expected anyway if the local transaction uses itself, because it always supplies such qualification.
This represents the additional overhead of establishing a connection, parsing and planning the query on the remote side, etc.
The default value is This option, which can be specified for a foreign server, is a numeric value that is used as extra cost per-tuple for foreign-table scans on that server.
opens a transaction on the remote server if one is not already open corresponding to the current local transaction.
The remote transaction is committed or aborted when the local transaction commits or aborts.
If this option is omitted, the name of the foreign table's schema is used.
retrieves remote data by executing queries against remote servers, so ideally the estimated cost of scanning a foreign table should be whatever it costs to be done on the remote server, plus some overhead for communication.
(See for a more detailed discussion.) By itself, this flexible and decoupled design offers advantages, for instance it is easy to have other languages (R, Scala, Lua, …) drive the exact same Bokeh plots and visualizations in the browser.
However, if it were possible to keep the “model objects” in python and in the browser in sync with one another, then more additional and powerful possibilities immediately open up: When the controls are manipulated, their new values are automatically synced in the Bokeh server.
This connection is kept and re-used for subsequent queries in the same session.
However, if multiple user identities (user mappings) are used to access the foreign server, a connection is established for each user mapping.
clause is supported, provided a unique index inference specification is omitted.