我想在Windows中为PostgreSQL设置MySQL FDW(外部数据包装器)。
我在Windows中安装了pgAdmin III,它还安装了postgreSQL。然后,我在pgAdmin的SQL窗口中运行了这个命令。我得到了这个错误:
错误:无法打开扩展控制文件"C:\Program Files\PostgreSQL/9.3/share/extension/mysql_fdw.control":没有这样的文件或目录
在我看来,我需要做一些必要的步骤。但我找不到任何合适的文件来引导我一步一步地完成。您可以重定向到此页面:https://github.com/EnterpriseDB/mysql_fdw
但我认为这些说明适用于Linux。我不知道如何使它们适用于Windows。此外,前几条指令也相当模糊。如果我在windows桌面上运行postgres,我需要做什么?我不知道Windows中有任何make命令或export命令。
我今天能够成功地使用这里找到的预编译DLL,将mysql_fdw 1.0.0
集成到新的PostgreSQL 9.3 32位安装中,该安装来自Windows Server 2012 64位上的官方安装程序。
以下是我所做的:
- 从最新的官方安装程序(
postgresql-9.3.9-1-windows.exe
)安装PostgreSQL 9.3.9 32位 - 从下载
postgresql-9.3.1-standalone-32-(sqlite_fdw,www_fdw,mysql_fdw,ldap_fdw).7z
http://sourceforge.net/projects/postgresql-mingw-w64/files/ - 将存档提取到某个位置(假设为
C:somewherepostgresql-9.3.1-standalone-32
) - 在提取的文件夹中,转到
C:somewherepostgresql-9.3.1-standalone-32 1_DLLs_32-DEPLOY_EXTS
- 如果运行Windows 64位,则运行
deploy-x86-on-win64.bat
,否则运行deploy-x86-on-win32.bat
- 在PgAdmin III中,右键单击数据库(假设为
postgres
),选择New Object
>New Extension
- 在"
New Extension...
"对话框中,打开"Name
"的下拉列表,然后选择"mysql_fdw
"。(如果没有找到,那一定是早些时候出了问题。)。点击OK
完成
如果一切顺利,就是这样!
从这一点开始,您将需要创建外部服务器、外部表等等
我个人使用了页面底部给出的示例:http://pgxn.org/dist/mysql_fdw/1.0.0/
注意:如果使用64位版本的PostgreSQL,我认为过程应该类似,只是需要下载postgresql-9.3.1-standalone-64-(sqlite_fdw,www_fdw,mysql_fdw,ldap_fdw).7z
。但我还没有测试过!里程可能会有所不同。