`
LJ你是唯一LT
  • 浏览: 239318 次
社区版块
存档分类
最新评论

postgresql dblink 使用

 
阅读更多
dblink的使用 pg的跨库查询工具
select dblink_connect('host=localhost port=5432 user=sqluser dbname=tm_samples password=****');
select dblink_disconnect();

1、安装
在安装包的目录下
[postgres@localhost postgresql-9.1.1]$ find /postgresql-9.1.1/  -name dblink
/postgresql-9.1.1/contrib/dblink

使用postgres用户安装即可
[postgres@localhost dblink]$ make && make install

在实际安装目录的lib下多了一个dblink.so
/pg/lib/postgresql
-rwxr-xr-x 1 postgres postgres   49174 Jul 22 23:22 dblink.so

进入psql,创建扩展dblink
postgres=# \c liodb lio
You are now connected to database "liodb" as user "lio".
liodb=# create extension dblink;
CREATE EXTENSION

也可以使用命令:psql -f dblink.sql -d 数据库 -U 用户名 

2、使用
select dblink_connect('hostaddr=192.168.10.173 port=5432 dbname=tina user=postgres password=tina');
--这个函数用来建立到远程数据库的连接。

liodb=# select dblink_connect('hostaddr=192.168.10.173 port=5432 dbname=tina user=postgres password=tina');
dblink_connect
----------------
OK
(1 row)

liodb=# select * from father;   ---这个表在lio中是不存在的
ERROR:  relation "father" does not exist at character 15
STATEMENT:  select * from father;
ERROR:  relation "father" does not exist
LINE 1: select * from father;

#重点在于as 后的重命名表,需要定义表结构,表中的类型需要和select返回的类型保持一致。                    ^
liodb=# select * from dblink('select name from father') as t_1(name text);
   name   
-----------
Las vegas
Mariposa
madison
(3 rows)

这样就可以查询到tina库中的father表的内容

--向远程数据库插入一条记录
select dblink_exec('insert into father values(/'moxige/',/'3.54/',/'899/')');

查询:select * from dblink('select * from father')as fa(name text,population float,altutude text);

3、操作完成,断开连接
select dblink_diconnect();
分享到:
评论

相关推荐

    greenplum创建dblink包postgresql-8.3.23.tar.gz

    greenplum数据库4.3版本创建dblink使用contrib包postgresql-8.3.23.tar.gz

    PostgreSQL中使用dblink实现跨库查询的方法

    主要介绍了PostgreSQL中使用dblink实现跨库查询的方法,需要的朋友可以参考下

    PostgreSQL数据库管理(二)

    PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为PostgreSQL. PostgreSQL支持大部分SQL标准并且提供了许多其它现代特性:复杂查询、外键、触发器、视图、事务完整性等。 ? PostgreSQL?是一个...

    DBLINK 无统计信息导致SQL变慢

    ORACLE社区有位哥们提问,为啥索引重建(alter index rebuil)之后,SQL变慢了,以前15秒可以完成,现在要2分多种,于是问他要了执行计划 SQL> set autotrace traceonly SQL> SELECT SEQ_PAY_CUSTOMEROPER....

    DBLink-ODBC-开源

    DBLink-ODBC for PostgreSQL:通过 ODBC 跨数据库访问

    mimeo:扩展,用于在PostgreSQL实例之间进行专门的按表复制

    美浓 Mimeo是一个扩展,可在PostgreSQL实例...要求:PostgreSQL 9.1+,dblink扩展 建议:pg_jobmon(> = 1.3.2)扩展名( ) 在下载mimeo的目录中 make make install 登录PostgreSQL并运行以下命令。 架构可以是您想

    PostgreSQL数据库中跨库访问解决方案

    PostgreSQL跨库访问有3种方法:Schema,dblink,postgres_fdw。 方法A:在PG上建立不同SCHEMA,将数据和存储过程分别放到不同的schema上,经过权限管理后进行访问。 方法A的示例如下: 测试1(测试postgres超级用户...

    pgbouncer_fdw:PostgreSQL外部数据包装器连接到pgbouncer

    要求PostgreSQL9.4+ - DBLINK(的contrib模块) - pgbouncer 1.10+ - 设置为了基本监视统计信息,您将在下面的用户映射中使用的任何数据库角色都必须添加到pgbouncer配置(pgbouncer.ini)中的stats_users列表中。...

    Inter-DB Connectivity-开源

    该项目提供工具或模块,包括 - syncdb:Java 应用程序,将查询结果传输到位于远程数据库中的表 - dblink_plus:PostgreSQL 模块,支持与其他数据库的连接。 - pgsql_fdw:外部 PostgreSQL 服务器的外部数据包装器。 ...

    Oracle升级迁移实战文章和方案文档汇总-共168篇.xlsx

    06使用XTTS技术进行U2L跨平台数据迁移 Oracle 迁移至 PostgreSQL 在华为 ARM 上的解决方案 rman异机迁移 迁移 ORACLE数据库和应用异构迁移最佳实践_樊文凯 数据库信息收集表-Oracle数据库迁移升级场景-云和恩墨 零...

Global site tag (gtag.js) - Google Analytics