【问题标题】:Setup Mysql Foreign Data Wrapper in Postgresql在 Postgresql 中设置 Mysql 外部数据包装器
【发布时间】:2014-07-10 17:43:15
【问题描述】:

有人可以帮我理解我将如何设置 postgresql 的 mysql_fdw 吗?我在看https://github.com/EnterpriseDB/mysql_fdw,我不确定第一步是什么。

【问题讨论】:

    标签: postgresql foreign-data-wrapper


    【解决方案1】:

    我可以通过以下方式做到这一点。

    安装包:

    sudo apt-get install postgresql-9.5-mysql-fdw
    

    在数据库中添加扩展:

    CREATE EXTENSION mysql_fdw;
    

    将mysql服务器添加到postgresql:

    CREATE SERVER mysql_server FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host 'localhost', port '3306');
    

    创建一个用户来访问数据库:

    CREATE USER MAPPING FOR postgres SERVER mysql_server OPTIONS (username 'root', password 'passwordToConnect');
    

    从另一台服务器导入 Schema 表

    IMPORT FOREIGN SCHEMA mySchema LIMIT TO (tableName) FROM SERVER mysql_server INTO public;
    

    从其他服务器导入所有 Schema 表

    IMPORT FOREIGN SCHEMA mySchema FROM SERVER mysql_server INTO public;
    

    我希望我有所帮助。

    【讨论】:

      【解决方案2】:

      您已链接到 ODBC 外部数据包装器 odbc_fdw。你可以将它用于 MySQL,但如果你只想要 MySQL,你应该use mysql_fdw instead。这样你就不必乱用 ODBC。

      方便地,mysql_fdw 的 README 包含安装和配置的详细说明,因此您应该可以设置它;我不会在这里重复这些说明。

      【讨论】:

      • 感谢您回复并指出错误的网址。根据 README 文件,我无法推断安装过程。第一步被解释为“安装 MySQL,或者只是 C 客户端库”......我如何安装库?
      • @Kate 取决于您的操作系统。你在跑什么? (如果您在所有可能的问题中提及这个和您的 PostgreSQL 版本,那就太好了)。您需要安装 mysql 客户端库。在 Fedora 上是 yum install community-mysql-develyum install mariadb-devel。在 CentOS/RHEL 上,yum install mysql-devel。在 Debian/Ubuntu 上,apt-get install libmysqlclient-dev.
      • 谢谢 Craig,我正在运行 CentOS。根据您的建议,我必须安装 mysql-devel,以及 postgresql93-devel.x86_64 和 gcc。之后,将 Makefile、mysql_fdw.c、mysql_fdw--1.0.sql、mysql_fdw.control 下载到临时目录。接下来,将 mysql_fdw--1.0.sql 和 mysql_fdw.control 复制到 /usr/pgsql-9.3/share/extension。此时我能够执行“PATH=/usr/pgsql-9.3/bin/:/usr/bin/:$PATH make USE_PGXS=1”。现在在 psql 中,当我执行“CREATE EXTENSION mysql_fdw”时,我得到“错误:无法访问文件“$libdir/mysql_fdw”:没有这样的文件或目录”
      • 听起来你忘了make install - 或者在这种情况下可能是sudo PATH=/usr/pgsql-9.3/bin:$PATH make install 。顺便说一句,以供将来参考,而不是下载单个文件,您可以 git clone 存储库。
      猜你喜欢
      • 2018-08-30
      • 2020-05-12
      • 2021-06-27
      • 2020-03-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多