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

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();
分享到:
评论

相关推荐

    Postgresql连接oracle驱动并实现读写

    本文档将详细介绍如何在CentOS 6.2环境下通过PostgreSQL 9.5.6使用`oracle_fdw`驱动程序来连接Oracle 11.2客户端,并实现数据的读写操作。`oracle_fdw`是PostgreSQL的一个外键数据类型扩展,它允许PostgreSQL服务器...

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

    首先,为了能够在PostgreSQL中使用dblink,你需要确保已经安装了这个扩展。在Windows环境下,这通常只需要在目标数据库中执行SQL语句`CREATE EXTENSION dblink`即可。这将加载dblink模块,使得你的数据库实例能够...

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

    请注意,由于Greenplum是基于PostgreSQL但有其自身的特性和限制,所以在使用dblink时,要确保对两者的差异有足够的了解,比如事务管理、并发控制以及数据类型兼容性等问题。 总之,通过在Greenplum 4.3中引入...

    oracle10g或11g通过dblink访问sql server数据库

    本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的开发人员来说尤其有用,因为它提供了一种在不同类型的数据库之间无缝切换...

    DBLINK 无统计信息导致SQL变慢

    2. **调整optimizer_features_enable参数**:如果数据库版本较旧,尝试更新`optimizer_features_enable`以使用更现代的优化器特性,这些特性可能更能适应DBLINK的性能特征。 3. **使用hints强制优化器使用特定的...

    PostgreSQL数据库管理(二)

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

    Oracle至PostgreSQL数据库迁移方案.pptx

    Oracle至PostgreSQL数据库迁移方案是使用Ora2PG工具实现的,该工具是一个Perl语言编写的开源工具,用于将Oracle或MySQL数据库迁移到PostgreSQL数据库。下面是该方案的详细知识点: 一、Ora2PG简介 Ora2PG是一个...

    PostgreSQL去O迁移的一些思考.pdf

    Oracle 是一个功能强大且广泛使用的关系型数据库管理系统,但是在迁移到 PostgreSQL 时存在一些挑战,如数据类型、语法、PLSQL、DBLink 等。PostgreSQL 需要进行兼容处理,解决 Oracle 的特殊语法和功能。同时,...

    PostgreSQL 9.x cheatsheet

    - **`dblink`**:跨数据库/服务器查询功能。 - **`earthdistance`**:基于`cube`,用于计算地球表面两点之间的距离。 - **`fuzzstrmatch`**:模糊字符串匹配功能。 - **`ltree`**:层次树数据类型。 - **`hstore`**...

    PostgreSQL+经验谈(德哥)-PostgreSQL2012-p72

    2. **两阶段提交(Two-Phase Commit)**:这一特性允许PostgreSQL执行跨数据库的事务操作,通常通过dblink实现跨库事务。 3. **多版本并发控制(MVCC)**:PostgreSQL使用MVCC来确保读写操作之间不会发生冲突,同时支持...

    DBLink-ODBC-开源

    4. 在 PostgreSQL 中使用:在数据库会话中创建 dblink 连接,例如 `SELECT * FROM dblink('DSN=your_dsn', 'SELECT * FROM your_table') AS t(column_name data_type);` 5. 执行跨数据库查询:现在可以在 PostgreSQL...

    PyPI 官网下载 | dblink-0.1.2-py3-none-any.whl

    例如,如果你正在使用PostgreSQL,并且`dblink`已经正确安装,你可以像这样连接到另一个PostgreSQL数据库: ```python import dblink with dblink.connect('postgresql://user:password@remote_host:port/dbname')...

    postgres跨库查询

    PostgreSQL提供了一个扩展模块dblink,利用dblink可以实现跨数据库实例的数据操作。下面将详细介绍使用dblink进行跨库查询操作的各个步骤。 首先,需要创建dblink扩展模块。dblink模块不是PostgreSQL自带的扩展,...

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

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

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

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

    pgpool-II\pgpool-II概述.doc

    【pgpool-II 概述】 pgpool-II 是一个专为 PostgreSQL 设计的连接池服务器,它的主要作用是在...通过合理配置和使用 pgpool-II,可以构建高效、可靠且可扩展的 PostgreSQL 集群环境,满足高并发和大数据量的业务需求。

Global site tag (gtag.js) - Google Analytics