首页 存档 技术 查看内容

PostgreSql数据库的神器 FDW

2018-3-30 13:00 |来自: 互联网 472 0

摘要: PG的FDW的介绍 https://wiki.postgresql.org/wiki/Foreign_data_wrappers 本篇简单介绍下PG到Mysql,PG到Hive的“透明网关” 首先PG的安装 安装PostgreSQL客户端。 sudo apt-get install postgresql-client 然后安 ...


PG的FDW的介绍

https://wiki.postgresql.org/wiki/Foreign_data_wrappers


本篇简单介绍下PG到Mysql,PG到Hive的“透明网关”


首先

PG的安装


安装PostgreSQL客户端。


sudo apt-get install postgresql-client

然后

安装PostgreSQL服务器


sudo apt-get install postgresql


正常情况下,安装完成后,PostgreSQL服务器会自动在本机的5432端口开启


如果还想安装图形管理界面,可以运行下面命令


sudo apt-get install pgadmin3


下一步

创建超级权限用户


sudo -u postgres createuser --superuser syk


创建数据库test


sudo -u postgres createdb -O syk test


最后

测试连接PG


psql -U syk -d test -h 127.0.0.1 -p 5432


到此PG的安装完成。


开始配置FDW



先配置到mysql的


https://github.com/EnterpriseDB/mysql_fdw


下载到本地解压缩


更改下文件的权限


准备安装:中间需要安装一个pg的扩展开发包dev-9.3


sudo PATH=/usr/local/pgsql/bin/:/usr/local/mysql/bin:$PATH make USE_PGXS=1 install


登录PG开始配置mysql(前提是mysql的用户及库表都已经创建完成)的fdw


CREATE extension mysql_fdw;

CREATE SERVER mysql_server FOREIGN DATA WRAPPER mysql_fdw OPTIONS (HOST '127.0.0.1', PORT '3306');
CREATE USER mapping FOR syk SERVER mysql_server OPTIONS (
username 'sky',
PASSWORD 'sky'
);
CREATE FOREIGN TABLE syk_test2 (
goods_id INT,
goods_type VARCHAR (10),
goods_id2 BIGINT
) SERVER mysql_server OPTIONS (
dbname 'syk',
table_name 'syk_test2'
);
SELECT * FROM syk_test2;
INFO: Successfully connected to MySQL database syk at server 127.0.0.1 via TCP/IP with cipher (server version: 5.5.49-0ubuntu0.14.04.1, protocol version: 10)
goods_id | goods_type | goods_id2
---------- ------------ -----------
100 | 10010 | 0
100 | 10011 | 0
88 | 20010 | 0
86 | 20110 | 0
0 | 我我我特色 | 0
1 | 我我我曹操 | 0

下面这些内容基本是占篇幅的^_^


/*

ERROR: first column of remote table must be unique for INSERT/UPDATE/DELETE operation #注意这里
#mysql 库上的表结构 没有唯一约束
CREATE TABLE `syk_test2` (
`goods_id` INT (11) NOT NULL DEFAULT '0',
`goods_type` VARCHAR (10) DEFAULT NULL,
`goods_id2` BIGINT (20) NOT NULL DEFAULT '0'
) ENGINE = INNODB DEFAULT CHARSET = utf8;
#添加唯一约束
mysql

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部