CREATE [PUBLIC] DATABASE LINK创建一个数据库连接。
语法
CREATE [ PUBLIC ] DATABASE LINK <name>
CONNECT TO { CURRENT_USER |
<username> IDENTIFIED BY "<password>"}
USING { ( <fdw_connection_string ) |
'<oracle_connection_string>' }
参数说明
参数 | 说明 |
PUBLIC | 创建任何用户都可以使用的公共数据库连接。如果省略此参数,则数据库连接是私有的,只有数据库连接的所有者可以使用。 |
name | 数据库连接的名称。 |
username | 用于连接到远程数据库的用户名。 |
CURRENT_USER | 使用当前用户名作为连接到远程数据库的用户名。 |
password | 用于连接到远程数据库的密码。 |
fdw_connection_string | 指定postgres_fdw外部数据包装器的连接信息,如果数据库上未安装postgres_fdw ,请使用 |
oracle_connection_string | 指定oci连接的连接信息。例如, |
注意事项
CREATE DATABASE LINK创建数据库连接。数据库连接是一个对象,允许在DELETE、INSERT、SELECT或UPDATE命令中引用远程数据库中的表或视图。通过将附加到SQL命令中引用表或视图名称来引用数据库连接,其中
dblink
是数据库连接的名称。数据库连接可以是公共的或私有的。公共数据库连接是任何用户都可以使用的连接。只有数据库连接的所有者才能使用私有数据库连接。指定PUBLIC选项来创建公共数据库连接。否则,将创建专用数据库连接。
当您使用CREATE DATABASE LINK命令时,数据库连接名称和给定的连接属性存储在名为pg_catalog.edb_dblink系统表中。当使用给定的数据库连接时,包含定义此数据库连接的edb_dblink条目的数据库称为本地数据库。其连接属性在edb_dblink条目中定义的服务器和数据库称为远程数据库。
示例
创建OCI数据库连接。
CREATE DATABASE LINK ora_dblink
CONNECT TO admin IDENTIFIED BY 'mypassword'
USING oci '//orachannel/acctg';
创建postgres_fdw数据库连接。
CREATE DATABASE LINK pg_dblink
CONNECT TO admin IDENTIFIED BY "mypassword"
USING (channel_name 'localhost', dbname 'marketing');
使用数据库连接。
SELECT * FROM emp@ora_link;
结果显示如下:
empno | ename | job | mgr | hiredate | sal | comm | deptno
-------+--------+-----------+------+--------------------+------+------+--------
7369 | SMITH | CLERK | 7902 | 17-DEC-80 00:00:00 | 800 | | 20
7499 | ALLEN | SALESMAN | 7698 | 20-FEB-81 00:00:00 | 1600 | 300 | 30
7521 | WARD | SALESMAN | 7698 | 22-FEB-81 00:00:00 | 1250 | 500 | 30
7566 | JONES | MANAGER | 7839 | 02-APR-81 00:00:00 | 2975 | | 20
(4 rows)
使用数据库连接。
SELECT d.deptno, d.dname, e.empno, e.ename, e.job, e.sal, e.comm FROM
emp@ora_link e, dept@fdwlink d WHERE e.deptno = d.deptno ORDER BY 1, 3;
结果显示如下:
deptno | dname | empno | ename | job | sal | comm
--------+------------+-------+--------+-----------+------+------
10 | ACCOUNTING | 7782 | CLARK | MANAGER | 2450 |
10 | ACCOUNTING | 7839 | KING | PRESIDENT | 5000 |
10 | ACCOUNTING | 7934 | MILLER | CLERK | 1300 |
20 | RESEARCH | 7369 | SMITH | CLERK | 800 |
20 | RESEARCH | 7566 | JONES | MANAGER | 2975 |
20 | RESEARCH | 7788 | SCOTT | ANALYST | 3000 |
20 | RESEARCH | 7876 | ADAMS | CLERK | 1100 |
20 | RESEARCH | 7902 | FORD | ANALYST | 3000 |
30 | SALES | 7499 | ALLEN | SALESMAN | 1600 | 300
30 | SALES | 7521 | WARD | SALESMAN | 1250 | 500
30 | SALES | 7654 | MARTIN | SALESMAN | 1250 | 1400
30 | SALES | 7698 | BLAKE | MANAGER | 2850 |
30 | SALES | 7844 | TURNER | SALESMAN | 1500 | 0
30 | SALES | 7900 | JAMES | CLERK | 950 |
(14 rows)
- 本页导读 (0)