mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Allow per-column foreign data wrapper options.
Shigeru Hanada, with fairly minor editing by me.
This commit is contained in:
@ -1157,6 +1157,15 @@
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><structfield>attfdwoptions</structfield></entry>
|
||||
<entry><type>text[]</type></entry>
|
||||
<entry></entry>
|
||||
<entry>
|
||||
Attribute-level foreign data wrapper options, as <quote>keyword=value</> strings
|
||||
</entry>
|
||||
</row>
|
||||
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
|
@ -1018,6 +1018,69 @@
|
||||
</table>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="infoschema-column-options">
|
||||
<title><literal>column_options</literal></title>
|
||||
|
||||
<para>
|
||||
The view <literal>column_options</literal> contains all the
|
||||
options defined for foreign table columns in the current database. Only
|
||||
those foreign table columns are shown that the current user has access to
|
||||
(by way of being the owner or having some privilege).
|
||||
</para>
|
||||
|
||||
<table>
|
||||
<title><literal>column_options</literal> Columns</title>
|
||||
|
||||
<tgroup cols="3">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Name</entry>
|
||||
<entry>Data Type</entry>
|
||||
<entry>Description</entry>
|
||||
</row>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><literal>table_catalog</literal></entry>
|
||||
<entry><type>sql_identifier</type></entry>
|
||||
<entry>Name of the database that contains the foreign table (always the current database)</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><literal>table_schema</literal></entry>
|
||||
<entry><type>sql_identifier</type></entry>
|
||||
<entry>Name of the schema that contains the foreign table</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><literal>table_name</literal></entry>
|
||||
<entry><type>sql_identifier</type></entry>
|
||||
<entry>Name of the foreign table</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><literal>column_name</literal></entry>
|
||||
<entry><type>sql_identifier</type></entry>
|
||||
<entry>Name of the column</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><literal>option_name</literal></entry>
|
||||
<entry><type>sql_identifier</type></entry>
|
||||
<entry>Name of an option</entry>
|
||||
</row>
|
||||
|
||||
<row>
|
||||
<entry><literal>option_value</literal></entry>
|
||||
<entry><type>character_data</type></entry>
|
||||
<entry>Value of the option</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</table>
|
||||
</sect1>
|
||||
|
||||
<sect1 id="infoschema-column-privileges">
|
||||
<title><literal>column_privileges</literal></title>
|
||||
|
||||
|
@ -36,6 +36,7 @@ ALTER FOREIGN TABLE <replaceable class="PARAMETER">name</replaceable>
|
||||
DROP [ COLUMN ] [ IF EXISTS ] <replaceable class="PARAMETER">column</replaceable> [ RESTRICT | CASCADE ]
|
||||
ALTER [ COLUMN ] <replaceable class="PARAMETER">column</replaceable> [ SET DATA ] TYPE <replaceable class="PARAMETER">type</replaceable>
|
||||
ALTER [ COLUMN ] <replaceable class="PARAMETER">column</replaceable> { SET | DROP } NOT NULL
|
||||
ALTER [ COLUMN ] <replaceable class="PARAMETER">column</replaceable> OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ])
|
||||
OWNER TO <replaceable class="PARAMETER">new_owner</replaceable>
|
||||
OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ])
|
||||
</synopsis>
|
||||
@ -125,12 +126,13 @@ ALTER FOREIGN TABLE <replaceable class="PARAMETER">name</replaceable>
|
||||
<term><literal>OPTIONS ( [ ADD | SET | DROP ] <replaceable class="PARAMETER">option</replaceable> ['<replaceable class="PARAMETER">value</replaceable>'] [, ... ] )</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Change options for the foreign table.
|
||||
Change options for the foreign table or one of its columns.
|
||||
<literal>ADD</>, <literal>SET</>, and <literal>DROP</>
|
||||
specify the action to be performed. <literal>ADD</> is assumed
|
||||
if no operation is explicitly specified. Option names must be
|
||||
unique; names and values are also validated using the foreign
|
||||
data wrapper library.
|
||||
if no operation is explicitly specified. Duplicate option names are not
|
||||
allowed (although it's OK for a table option and a column option to have
|
||||
the same name). Option names and values are also validated using the
|
||||
foreign data wrapper library.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -19,7 +19,7 @@
|
||||
<refsynopsisdiv>
|
||||
<synopsis>
|
||||
CREATE FOREIGN TABLE [ IF NOT EXISTS ] <replaceable class="PARAMETER">table_name</replaceable> ( [
|
||||
{ <replaceable class="PARAMETER">column_name</replaceable> <replaceable class="PARAMETER">data_type</replaceable> [ NULL | NOT NULL ] }
|
||||
{ <replaceable class="PARAMETER">column_name</replaceable> <replaceable class="PARAMETER">data_type</replaceable> [ OPTIONS ( <replaceable class="PARAMETER">option</replaceable> '<replaceable class="PARAMETER">value</replaceable>' [, ... ] ) ] [ NULL | NOT NULL ] }
|
||||
[, ... ]
|
||||
] )
|
||||
SERVER <replaceable class="parameter">server_name</replaceable>
|
||||
@ -138,10 +138,12 @@ CREATE FOREIGN TABLE [ IF NOT EXISTS ] <replaceable class="PARAMETER">table_name
|
||||
<term><literal>OPTIONS ( <replaceable class="PARAMETER">option</replaceable> '<replaceable class="PARAMETER">value</replaceable>' [, ...] )</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Options to be associated with the new foreign table.
|
||||
Options to be associated with the new foreign table or one of its
|
||||
columns.
|
||||
The allowed option names and values are specific to each foreign
|
||||
data wrapper and are validated using the foreign-data wrapper's
|
||||
validator function. Option names must be unique.
|
||||
validator function. Duplicate option names are not allowed (although
|
||||
it's OK for a table option and a column option to have the same name).
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
@ -891,6 +891,12 @@ testdb=>
|
||||
below.)
|
||||
</para>
|
||||
|
||||
<para>
|
||||
For some types of relation, <literal>\d</> shows additional information
|
||||
for each column: column values for sequences, indexed expression for
|
||||
indexes and per-column foreign data wrapper options for foreign tables.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The command form <literal>\d+</literal> is identical, except that
|
||||
more information is displayed: any comments associated with the
|
||||
|
Reference in New Issue
Block a user