ok
Direktori : /opt/alt/postgresql11/usr/share/doc/alt-postgresql11-9.2.24/html/ |
Current File : //opt/alt/postgresql11/usr/share/doc/alt-postgresql11-9.2.24/html/ddl-foreign-data.html |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Foreign Data</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="PostgreSQL 9.2.24 Documentation" HREF="index.html"><LINK REL="UP" TITLE="Data Definition" HREF="ddl.html"><LINK REL="PREVIOUS" TITLE="Partitioning" HREF="ddl-partitioning.html"><LINK REL="NEXT" TITLE="Other Database Objects" HREF="ddl-others.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"><META NAME="creation" CONTENT="2017-11-06T22:43:11"></HEAD ><BODY CLASS="SECT1" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="5" ALIGN="center" VALIGN="bottom" ><A HREF="index.html" >PostgreSQL 9.2.24 Documentation</A ></TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A TITLE="Partitioning" HREF="ddl-partitioning.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="ddl.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" >Chapter 5. Data Definition</TD ><TD WIDTH="20%" ALIGN="right" VALIGN="top" ><A TITLE="Other Database Objects" HREF="ddl-others.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="DDL-FOREIGN-DATA" >5.10. Foreign Data</A ></H1 ><P > <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > implements portions of the SQL/MED specification, allowing you to access data that resides outside PostgreSQL using regular SQL queries. Such data is referred to as <I CLASS="FIRSTTERM" >foreign data</I >. (Note that this usage is not to be confused with foreign keys, which are a type of constraint within the database.) </P ><P > Foreign data is accessed with help from a <I CLASS="FIRSTTERM" >foreign data wrapper</I >. A foreign data wrapper is a library that can communicate with an external data source, hiding the details of connecting to the data source and fetching data from it. There is a foreign data wrapper available as a <TT CLASS="FILENAME" >contrib</TT > module, which can read plain data files residing on the server. Other kind of foreign data wrappers might be found as third party products. If none of the existing foreign data wrappers suit your needs, you can write your own; see <A HREF="fdwhandler.html" >Chapter 50</A >. </P ><P > To access foreign data, you need to create a <I CLASS="FIRSTTERM" >foreign server</I > object, which defines how to connect to a particular external data source, according to the set of options used by a particular foreign data wrapper. Then you need to create one or more <I CLASS="FIRSTTERM" >foreign tables</I >, which define the structure of the remote data. A foreign table can be used in queries just like a normal table, but a foreign table has no storage in the PostgreSQL server. Whenever it is used, <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > asks the foreign data wrapper to fetch the data from the external source. </P ><P > Accessing remote data may require authentication at the external data source. This information can be provided by a <I CLASS="FIRSTTERM" >user mapping</I >, which can provide additional options based on the current <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN > role. </P ><P > Currently, foreign tables are read-only. This limitation may be fixed in a future release. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="ddl-partitioning.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="ddl-others.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Partitioning</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ddl.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Other Database Objects</TD ></TR ></TABLE ></DIV ></BODY ></HTML >