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();

时间: 2024-10-01 07:08:05

postgresql dblink 使用的相关文章

Oracle Connect To PostgreSQL use HS DBLINK

今天一位数据仓库的同事问我一个ORACLE连接到PG的问题,突然想起几年前写过类似的文章,现在发表如下: 参考文档 :   oracle : Heterogeneous Connectivity Administrator's Guide   环境一 : CentOS 5.2 x64 oracle 10.2.0.4   包 : unixODBC-2.2.11-7.1   postgres-odbc相关 lib : /usr/lib64/libodbcpsql.so /usr/lib64/libo

PostgreSQL's two-phase commit used with dblink example

我在前面一篇博客有提到PostgreSQL的事务中如果混合了本地SQL和远程执行的SQL的话,可能会导致事务不完整.那么怎么来解决这种混合事务的完整性问题呢?没错,prepare transaction为我们提供了强大而有弹性的two-phase commit功能.下面来举例说明一下:测试环境:PostgreSQL 9.0.3TABLE : digoal=> \d tbl_user Table "digoal.tbl_user" Column | Type | Modifiers

PostgreSQL Oracle兼容性之 - plpgsql 自治事务(autonomous_transaction)补丁

PostgreSQL Oracle兼容性之 - plpgsql 自治事务(autonomous_transaction)补丁 作者 digoal 日期 2016-11-04 标签 PostgreSQL , autonomous_transaction , 自治事务 , Oracle兼容性 , plpgsql 背景 PostgreSQL的plpgsql服务端编程语言与Oracle数据库的pl/sql编程语言非常类似,但是对于自治事务一直没有语法层面的支持. 以往如果要支持自治事务,可以使用exce

阿里云RDS PostgreSQL OSS 外部表 - 并行写提速案例

标签 PostgreSQL , oss对象存储 , 阿里云RDS PG , 并行写 , dblink , 异步调用 , 异步任务监控 , OSS外部表 , 数据传输 背景 阿里云RDS PostgreSQL.HybridDB for PostgreSQL提供了一个非常强大的功能,OSS对象存储外部表. 阿里云的RDS PostgreSQL用户可以利用OSS存储冷数据(OSS外部表的形态呈现),实现冷热分离:也可以利用OSS作为数据的中转桥梁,打通其他云端业务,例如HDB FOR PostgreS

PostgreSQL MySQL 数据类型映射

标签 PostgreSQL , MySQL , 类型映射 背景 通常一家企业会有比较多的数据库品种,最为常见的如MySQL, PostgreSQL. 那么在不同的产品之间,如果有数据的相互同步,就涉及到类型的映射了. 对于PostgreSQL来说,可以使用PostgreSQL的mysql_fdw外部插件来实现同步,产品设计会简化很多. 而对于MySQL来说,可能就比较复杂,需要自己写程序来实现,会涉及到类型的转换. PostgreSQL类型 转换为 MySQL类型 https://dev.mys

从难缠的模糊查询聊开 - PostgreSQL独门绝招之一 GIN , GiST , SP-GiST , RUM 索引原理与技术背景

标签 PostgreSQL , gist , sp-gist , gin , rum index , 模糊查询 , 搜索引擎 , token位置搜索 , pg_hint_plan , 自动优化 , 分词 , like '%xxx%' 背景 模糊查询,是一个需求量很大,同时也是一个对数据库来说非常难缠的需求. 对于前模糊(like '%xxx'),可以使用倒排B-TREE索引解决,对于后模糊(like 'xxx%'),可以使用B-TREE索引解决. B-TREE索引通常支持的查询包括 > , <

PostgreSQL 俄罗斯发行版Postgrespro的特性

标签 PostgreSQL , postgrespro , oleg 背景 Postgrespro是俄罗斯的一家数据库公司,创始人OLEG是PostgreSQL社区的核心成员之一,一名在俄罗斯莫斯科国立大学,斯特恩伯格天文研究所做科学研究的天文学家.同时也担任Postgres Professional公司的首席执行官.也是极少数登顶过珠峰的科学家. 关于oleg的专访 https://yq.aliyun.com/articles/60800 postgrespro企业版本加了很多新的功能,和大多

ALICloudDB for PostgreSQL 试用报告 - 6 任意时间点恢复

阿里云的RDS for PostgreSQL目前提供的备份为物理备份,备份粒度可以自己设置,最频繁的基础备份可以做到一天一次. 有了这个备份和归档日志,我们可以做到基于任意时间点(实际上是事务提交或回滚点的粒度)的恢复. 在RDS的控制台可以看到:     接下来我将演示一下如何实现以及如何设计一个好的恢复方案. 甚至我们在了解其中的原理后,如果阿里云将来提供基于时间点的恢复服务,我们应该如何更好的与之结合来使用. 要恢复到任意时间点,我们就必须告诉恢复进程一个点,这个点可以是时间,字符串,或者

Oracle业务适合用PostgreSQL去O的一些评判标准

标签 PostgreSQL , Oracle 背景 Oracle业务适合用PG去O的一些评判标准: 功能指标 如果评估出来的业务中具备这些特性,非常适合使用PostgreSQL. 1.业务使用的数据类型中出现 IP地址.GIS.数组.范围.全文检索.大对象.字节流.比特流.枚举.几何.自定义复合.UUID.XML.JSON.货币.字符串.数值.时间.加密数据类型 2.业务需求中出现 全文检索.模糊查询.相似查询 3.业务使用的SQL中出现 connect by.多维分析(grouping, gr