1.mysql_fdw源码克隆

链接:https://github.com/EnterpriseDB/mysql_fdw/releases

选择最新版REL-2_5_1

2.mysql_fdw编译安装

下载来的源码不自带window工程文件,自己新建工程,将源码加入

工程依赖PostgreSQL和mysql,  C++编译附加包含目录需要设置相应目录

文件路径自己修改:以我的为例使用的是PostgreSQL9.5.4和mysql5.7.2

C:\Program Files\PostgreSQL\9.5\include

C:\Program Files\PostgreSQL\9.5\include\server

C:\Program Files\PostgreSQL\9.5\include\server\port\win32

C:\Program Files\PostgreSQL\9.5\include\server\port\win32_msvc

D:\MySQL\MySQL Server 5.7\include

链接目录

C:\Program Files\MySQL\MySQL Server 5.7\lib\libmysql.lib

C:\Program Files\PostgreSQL\9.5\lib\postgres.lib

MYSQL_FDW.def文件(通过模块定义文件导入)

设置需要导出的函数

Pg_magic_func

_PG_init

is_foreign_expr

mysql_append_where_clause

mysql_bind_result

mysql_bind_sql_var

mysql_cleanup_connection

mysql_connect

mysql_convert_to_pg

mysql_deparse_analyze

mysql_deparse_delete

mysql_deparse_insert

mysql_deparse_select

mysql_deparse_update

mysql_dll_handle DATA

mysql_fdw_handler

mysql_fdw_validator

mysql_fdw_version

mysql_get_connection

mysql_get_options

mysql_is_valid_option

mysql_load_library

mysql_rel_connection

pg_finfo_mysql_fdw_handler

pg_finfo_mysql_fdw_validator

pg_finfo_mysql_fdw_version

3.mysql_fdw库导入PG

1)将mysql_fdw.control、mysql_fdw--1.0.sql、mysql_fdw--1.0--1.1.sqlmysql_fdw--1.1.sql复制到C:\Program Files\PostgreSQL\9.5\share\extension目录下

2)将生成的mysql_fdw.dll复制到C:\Program Files\PostgreSQL\9.5\lib目录下

注意:由于项目在编译时将libmysql.dll引用路径定死了(C:\Program Files\MySQL\MySQL Server 5.7\lib),当生成的mysql_fdw.dll移植到其他机器时,libmysql.dll路径不一致或者不存在则出现以下错误提示:

解决办法:采用方法2

(1)人为添加C:\Program Files\MySQL\MySQL Server 5.7\lib目录和libmysql.dll文件;

(2)将libmysql.dll在编译解决添加到C:\Program Files\PostgreSQL\9.5\lib目录下并包含--由于数据库的安装目录是确定的;

说明:以上两种方法都依赖libmysql.dll文件的路径,都不是最佳解决方案。

4.mysql_fdw测试

1.mysql

--mysql(账号:root; 密码:123456)

--进入Mysql设置基本测试表

mysql -uroot -p123456

mysql> show databases;

mysql> create database mydb;

mysql> show databases;

mysql> use mydb;

mysql> show tables;

mysql> CREATE TABLE example ( id INT,data VARCHAR(100) );

mysql> INSERT INTO example VALUES (1,'aaa');

mysql> INSERT INTO example VALUES (2,'bbb');

mysql> INSERT INTO example VALUES (3,'ccc');

mysql> INSERT INTO example VALUES (4,'ddd');

mysql> INSERT INTO example VALUES (5,'eee');

mysql> show tables;

mysql> select * from example;

2.postgresql

postgres=# CREATE EXTENSION mysql_fdw;

CREATE EXTENSION

postgres=# CREATE SERVER mysql_server FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host '127.0.0.1', port '3306');

CREATE SERVER

postgres=# CREATE USER MAPPING FOR PUBLIC SERVER mysql_server OPTIONS (username 'root', password '123456');

CREATE USER MAPPING

postgres=# CREATE FOREIGN TABLE example (id INT,data VARCHAR(100) ) SERVER mysql_server OPTIONS (dbname 'mydb', table_name 'example');

CREATE FOREIGN TABLE

postgres=# SELECT * FROM example;

id | data

----+------

1 | aaa

2 | bbb

3 | ccc

4 | ddd

5 | eee

(5 rows)

postgres=#

win 二进制门安装mysql_PG二进制包编译Windows下mysql_fdw相关推荐

  1. 在python中requests模块怎么安装_Python requests模块在Windows下安装

    发现一个爬虫库太方便了,而且支持python3! 安装方法在http://docs.python-requests.org/en/latest/user/install/#install很详细 只不过 ...

  2. python编译exe文件太大了_python编译windows下可执行的exe文件

    python编译windows下可执行的exe文件的操作流程: 1.在安装python环境的windows下,安装 pyinstaller,请在dos下执行如下命令: pip install pyin ...

  3. Jenkins系列:5、wsl下的Jenkins编译Windows下的Qt程序并自动打包成exe

    Jenkins系列:5.wsl下的Jenkins编译Windows下的Qt程序并自动打包成exe 文章目录 Jenkins系列:5.wsl下的Jenkins编译Windows下的Qt程序并自动打包成e ...

  4. oracle安装后开机很慢,Windows下安装Oracle拖慢开机速度的解决方法

    环境:win7 + oracle R2 方法:将安装Oracle后自动开机启动的服务改为手动启动 步骤如下: 1.修改服务项 Ctrl + R,输入services.msc,打开服务列表,找到Orac ...

  5. linux node gyp 编译,windows下安装node-gyp

    什么是node-gyp? gyp是一种根据c++源代码编译的工具,node-gyp就是为node编译c++扩展的时候使用的编译工具. 最近在研究native script需要使用到node-gyp,遇 ...

  6. Linux 下重新编译Windows下生成的Qt工程

    原址:https://blog.csdn.net/Fanpei_moukoy/article/details/21613703 以下内容亲测通过 其实qt才是真正的跨平台,java简直太搞笑了,假跨平 ...

  7. 安装python3.x解释器步骤,Windows下使Python2.x版本的解释器与3.x共存的方法

    在windows环境下用virtualenv将python2.x和python3打开命令行(CMD),输入python,如果出现下图则表示安装成功了 如果显示错误的话,请把Python运行目录添加到 ...

  8. 使用eclipse安装python插件_在windows下用eclipse + pydev插件来配置python的开发环境

    在windows下用eclipse + pydev插件来配置python的开发环境 一.安装 python 可以到网上下个Windows版的python,官网为:https://www.python. ...

  9. snmpwalk 安装与使用详解-windows下

    snmpwalk是SNMP的一个工具,它使用SNMP的GETNEXT请求查询指定OID(SNMP协议中的对象标识)入口的所有OID树信息,并显示给用户.通过snmpwalk也可以查看支持SNMP协议( ...

最新文章

  1. 【lidar】3D目标检测PointPillars:论文解读、代码解读、部署实现(2)
  2. Windows10安装Mysql5.7.19.0 msi 版本报错
  3. AMD猛攻数据中心市场,拿下15年来最高份额,英特尔DCG收入下滑20%
  4. 现行高考政策公平 辩论_为这些考生高考加20分?这样的政策对其他考生公平吗?榕和奉献...
  5. ios android 发东西,Android、IOS主动发事件给React Native
  6. 网络安全、Web安全、渗透测试之笔经面经总结(二)
  7. javascript 键值转换
  8. 汇顶科技【软件工程师】面经
  9. 让你难忘的一段情感故事是什么?
  10. 江西瑞金计算机网络设计工资多少,瑞金java工资一般多少
  11. 笔记本搜不到寝室路由的无线信号怎么办
  12. 147.对链表进行插入排序
  13. 企业微信hook,企业微信软件
  14. My_arduino(4)-------LiquidCrystal_I2C库文件
  15. 自来水公司SCADA调度系统方案
  16. 12星座的出生年月日性格_12星座出生日期性格特点
  17. 计划三年投入十亿资金,统信UOS生态腾飞加速
  18. 新手如何当好办公室主任?傻瓜才做“二当家的”,高手都懂这5个潜规则
  19. 安全性的十个永恒定律3
  20. Flink的CheckPoint机制

热门文章

  1. java stringbuffer原理_深入理解String, StringBuffer, StringBuilder的区别(基于JDK1.8)
  2. mysql 分页查询几种语法_各数据库2种分页语法支持
  3. copy 收到_离散内存与zero_copy的一些思考
  4. java main方法static_在java中为什么要把main方法定义为一个static方法?
  5. python 分词nlp,学习NLP的第四天——hanlp字典分词的Python实现,4,HanLP,词典
  6. 米家扫地机器人是石头代工_扫地机器人“两强”突进,选科沃斯还是石头科技?...
  7. 较为综合的c语言题目,c语言考试综合题.doc
  8. python读取坐标文本文件_使用python读取txt坐标文件生成挖空矿山_探矿批量
  9. matlab杜哈梅尔积分,非平稳地震作用下桥梁系统碰撞间隙宽度的概率评价方法与流程...
  10. 学计算机学的想死,“我不是学习机器,真的好想死”