2020年8月4日(火) 12:08 David Fetter <david@fetter.org>:
>
> Folks,
>
> I noticed that the API document for IMPORT FOREIGN SCHEMA states in
> part:
>
> It should return a list of C strings, each of which must contain a
> CREATE FOREIGN TABLE command. These strings will be parsed and
> executed by the core server.
>
> A reasonable reading of the above is that it disallows statements
> other than CREATE FOREIGN TABLE, which seems overly restrictive for no
> reason I can discern. The list of C strings seems reasonable as a
> requirement, but I think it would be better to rephrase this along the
> lines of:
>
> It should return a list of C strings, each of which must contain a
> DDL command, for example CREATE FOREIGN TABLE. These strings will
> be parsed and executed by the core server in order to create the
> objects in the schema.
>
> as a foreign schema might need types (the case I ran across) or other
> database objects like CREATE EXTERNAL ROUTINE, when we dust off the
> implementation of that, to support it.
+1
A while back I was considering using IMPORT FOREIGN SCHEMA to import
object comments (which IMHO can be considered part of the schema) and was
puzzled by the above. I never pursued that further due to lack of
time/priorities;
IIRC technically it wouldn't have been an issue regardless of what the spec
may or may not say (I couldn't find anything at the time).
Regards
Ian Barwick
--
Ian Barwick https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services