
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该项目已归档。仍可拉取镜像,但不再推送更新。
项目已迁移至新地址:https://hub.docker.com/r/chumaky/postgres_mysql_fdw
它已成为Datero数据平台的一部分。Docker源文件请查看https://github.com/chumaky/docker-images%E4%BB%93%E5%BA%93%E3%80%82
带有不同外部数据包装器(FDW)扩展的PostgreSQL数据库镜像。多个FDW允许在单个SELECT语句中对不同类型的数据库执行异构SQL!
本项目创建两种类型的镜像:独立镜像和全能镜像。独立镜像包含单个FDW,而全能镜像包含所有支持的FDW。异构SQL功能仅在全能镜像中可用。
重要提示:
Docker不再免费支持自动构建功能。 此外,手动推送的标签不会显示摘要或统计信息。 尽管如此,这些标签仍可获取且安全使用。 请查看Docker Hub的Tags选项卡以查看可用的自定义标签。
全能镜像基于已安装单个FDW的独立PostgreSQL镜像构建。它是包含所有支持FDW的混合镜像,能够在单个SELECT语句中查询不同类型数据库的数据,从而实现异构SQL功能。
| 镜像 | Dockerfile |
|---|---|
| https://hub.docker.com/r/toleg/postgres_fdw | postgres_all.docker |
包含的FDW:
可用镜像标签
标签命名模式与官方PostgreSQL标签一一对应。
| 镜像 | 标签 |
|---|---|
| postgres_fdw | latest |
| postgres_fdw | 14.4 |
| postgres_fdw | 14.3 |
postgres_<dbname>.docker
Dockerfile的基础镜像构建文件。postgres_<dbname>_compose.yml
| FDW官方仓库 | 镜像 | Dockerfile | 演示compose/脚本 |
|---|---|---|---|
| https://github.com/EnterpriseDB/mysql_fdw | https://hub.docker.com/r/toleg/postgres_mysql_fdw | postgres_mysql.docker | postgres_mysql_compose.yml |
| https://github.com/laurenz/oracle_fdw | https://hub.docker.com/r/toleg/postgres_oracle_fdw | postgres_oracle.docker | postgres_oracle_compose.yml |
| https://github.com/pgspider/sqlite_fdw | https://hub.docker.com/r/toleg/postgres_sqlite_fdw | postgres_sqlite.docker | postgres_sqlite_compose.sh |
| https://github.com/EnterpriseDB/mongo_fdw | https://hub.docker.com/r/toleg/postgres_mongo_fdw | postgres_mongo.docker | postgres_mongo_compose.yml |
| https://github.com/tds-fdw/tds_fdw | https://hub.docker.com/r/toleg/postgres_mssql_fdw | postgres_mssql.docker | postgres_mssql_compose.yml |
例如,postgres_mysql.docker文件指定了安装mysql_fdw扩展的PostgreSQL数据库。它会在pg_available_extensions系统视图中列出,但仍需通过CREATE EXTENSION命令在特定数据库上安装该扩展。相应地,postgres_mysql_compose.yml文件在同一网络中以postgres和mysql主机名启动PostgreSQL和MySQL数据库。
初始化文件
sql文件夹包含简化外部数据包装器扩展创建和访问外部数据库数据的初始化文件。命名模式如下:
<dbname>_setup.sql
postgres_<dbname>_setup.sql
<dbname>并访问其数据postgres_all_setup.sql
可用标签
标签命名模式为<postgres_version>_fdw<fdw_version>。例如,postgres_mysql_fdw镜像的13.5_fdw2.7.0标签表示PostgreSQL 13.5版本安装了2.7.0版本的FDW。
| 镜像 | 标签 |
|---|---|
| postgres_mysql_fdw | latest |
| postgres_mysql_fdw | 14.4_fdw2.8.0 |
| postgres_mysql_fdw | 14.2_fdw2.8.0 |
| postgres_mysql_fdw | 14.1_fdw2.7.0 |
| postgres_mysql_fdw | 13.5_fdw2.7.0 |
| postgres_mysql_fdw | 13.3_fdw2.6.0 |
| 镜像 | 标签 |
|---|---|
| postgres_sqlite_fdw | latest |
| postgres_sqlite_fdw | 14.4_fdw2.1.1 |
| postgres_sqlite_fdw | 14.1_fdw2.1.1 |
| postgres_sqlite_fdw | 13.5_fdw2.1.1 |
| 镜像 | 标签 |
|---|---|
| postgres_oracle_fdw | latest |
| postgres_oracle_fdw | 14.4_fdw2.4.0 |
| postgres_oracle_fdw | 13.4_fdw2.4.0 |
| 镜像 | 标签 |
|---|---|
| postgres_mssql_fdw | latest |
| postgres_mssql_fdw | 14.4_fdw2.0.2 |
| postgres_mssql_fdw | 14.3_fdw2.0.2 |
| postgres_mssql_fdw | 13.1_fdw2.0.2 |
| 镜像 | 标签 |
|---|---|
| postgres_mongo_fdw | latest |
| postgres_mongo_fdw | 14.4_fdw5.4.0 |
| postgres_mongo_fdw | 14.3_fdw5.4.0 |
| postgres_mongo_fdw | 13.3_fdw5.2.9 |
注意: 如果使用docker,只需将以下所有命令中的podman替换为docker。
构建标记为postgres_mysql的镜像并从中启动pg_fdw_test容器
sh$ podman build -t postgres_mysql -f postgres_mysql.docker $ podman run -d --name pg_fdw_test -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres_mysql 6d6beb18e5b7036c058b2160bb9b57adf9011301658217abf67bea64471f5056 $ podman ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6d6beb18e5b7 localhost/postgres_mysql:latest postgres 4 seconds ago Up 4 seconds ago 0.0.0.0:5432->5432/tcp pg_fdw_test
登录数据库并检查mysql_fdw是否可安装
sh$ podman exec -it pg_fdw_test psql postgres postgres
sqlpsql (12.4) Type "help" for help. postgres=# select * from pg_available_extensions where name = 'mysql_fdw'; name | default_version | installed_version | comment -----------+-----------------+-------------------+-------------------------------------------------- mysql_fdw | 1.1 | | Foreign data wrapper for querying a MySQL server (1 row)
欢迎任何贡献。 如果实现新的FDW镜像,请按照描述的模式保持相应的文件名。
如果需要准备某个镜像,请随时提出issue。 可用的FDW实现列表可在PostgreSQL官方wiki上找到。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务