专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429

graphile/postgraphile Docker 镜像 - 轩辕镜像

postgraphile
graphile/postgraphile
自动构建
为PostgreSQL数据库提供即时高性能GraphQL API,基于PostGraphile V4版本(稳定但功能冻结),可自动检测数据库结构并生成可扩展、自定义的GraphQL服务,支持PostgreSQL高级特性与高效开发流程。
23 收藏0 次下载activegraphile镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

PostGraphile Docker镜像文档

概述

PostGraphile是一款将PostgreSQL数据库与GraphQL技术结合的工具,能够自动生成高性能GraphQL API。本Docker镜像基于PostGraphile V4版本(稳定但功能冻结),V5 beta版本已接近完成,具备更多新特性(如Grafast引擎、更低Postgres负载、真多态性等)。PostGraphile通过自动检测数据库表、列、索引、关系、视图、函数等结构,快速构建智能且可扩展的GraphQL服务,无需手动编写API层代码,大幅提升开发效率。

核心功能与特性

  • 自动生成GraphQL API:从PostgreSQL数据库模式自动生成完整GraphQL schema,包括查询、突变、关系等,支持表、视图、函数等多种数据库对象。
  • PostgreSQL原生授权:集成PostgreSQL的行级安全(RLS)和基于角色的访问控制(RBAC),无需在API层重复实现权限逻辑。
  • 高性能与低延迟:优化的查询执行引擎,减少数据库负载,提供闪电般的API响应速度。
  • 开发友好工具:内置GraphiQL开发界面,支持--watch模式,自动检测数据库模式变化并热重载,无需重启服务。
  • 丰富的自定义能力:通过智能注释(smart comments)自定义schema,支持计算列、自定义查询/突变、存储过程集成。
  • 标准兼容:支持游标分页、Relay(经典与现代)规范、全局对象标识符(nodeId/id),兼容JWT认证。
  • 多部署方式:可作为CLI工具、HTTP/Express/Koa中间件或Docker容器运行,灵活适应不同部署场景。

使用场景

  • 快速API开发:需要为PostgreSQL数据库快速构建GraphQL API的项目,避免手动编写API层代码。
  • 数据库优先架构:以PostgreSQL数据库模式为核心设计API,利用数据库原生功能(如RLS、函数)实现业务逻辑。
  • 开发与生产环境:开发环境中利用--watch模式实时同步数据库变化;生产环境中作为稳定、高性能的API服务运行。
  • 需要扩展的API:通过插件系统扩展功能,满足复杂业务需求,如自定义解析器、权限增强等。

使用方法(Docker部署)

前提条件
  • Docker环境
  • 可访问的PostgreSQL数据库(9.6+,官方推荐;实际可兼容9.4+)
  • 网络配置:确保Docker容器可连接PostgreSQL数据库,必要时配置端口映射和网络模式
拉取镜像
bash
docker pull graphile/postgraphile
基本运行命令
bash
docker run --init graphile/postgraphile --help
常用部署示例
1. 连接本地PostgreSQL并暴露API端口
bash
docker run --init -p 5000:5000 graphile/postgraphile \
  --connection postgres://POSTGRES_USER:POSTGRES_PASSWORD@POSTGRES_HOST:POSTGRES_PORT/POSTGRES_DATABASE \
  --schema app_public \
  --watch

参数说明:

  • -p 5000:5000:将容器内5000端口映射到主机5000端口(API服务端口)
  • --connection:PostgreSQL连接字符串,格式为postgres://用户:密码@主机:端口/数据库名
  • --schema:指定要暴露的数据库schema(如app_public)
  • --watch:启用监听模式,自动检测数据库模式变化并热重载
2. macOS用户避免端口冲突(AirPlay占用5000端口)
bash
docker run --init -p 4000:4000 graphile/postgraphile \
  --connection postgres://user:pass@host:5432/db \
  --schema public \
  --port 4000

说明:通过--port指定容器内端口为4000,主机端口映射为4000,避免与macOS AirPlay服务冲突。

3. 生产环境基本配置(禁用GraphiQL,指定JWT密钥)
bash
docker run --init -d -p 8080:8080 --name postgraphile-service graphile/postgraphile \
  --connection postgres://prod_user:prod_pass@prod-postgres:5432/prod_db \
  --schema app_public \
  --port 8080 \
  --disable-graphiql \
  --jwt-secret YOUR_JWT_SECRET \
  --default-role app_anonymous

参数说明:

  • -d:后台运行容器
  • --name:指定容器名称
  • --disable-graphiql:生产环境禁用GraphiQL界面
  • --jwt-secret:配置JWT认证密钥
  • --default-role:设置默认数据库角色

核心配置参数

参数说明示例
--connectionPostgreSQL连接字符串(必填)postgres://user:pass@host:5432/db
--schema指定数据库schema(可多个,逗号分隔)app_public,app_private
--port服务监听端口(容器内)4000
--watch监听数据库模式变化,自动重载-
--graphiql启用GraphiQL界面(默认启用,开发环境推荐)-
--disable-graphiql禁用GraphiQL界面(生产环境推荐)-
--jwt-secretJWT认证密钥,用于验证JWT令牌your-256-bit-secret
--default-role未认证用户的默认数据库角色app_anonymous
--classic-ids使用Relay风格的id代替默认nodeId-
--append-plugins添加自定义插件(需容器内安装)@graphile-contrib/pg-simplify-inflector

注意事项

  • V4与V5版本:本镜像基于V4(稳定但功能冻结),V5 beta版本已发布,具备更多特性(如Grafast引擎、更低Postgres负载等),生产环境可评估迁移至V5。
  • macOS端口冲突:默认端口5000可能与AirPlay服务冲突,需通过--port指定其他端口(如4000、8080)。
  • 安全配置:生产环境务必禁用GraphiQL,配置JWT密钥,限制数据库用户权限(遵循最小权限原则)。
  • 数据库连接:确保容器与PostgreSQL之间网络连通,可通过--network指定Docker网络,或使用主机网络模式(--net=host)。

相关资源

  • PostGraphile V4官方文档
  • V5 beta状态与新特性
  • V4迁移至V5指南
  • 社区插件列表
查看更多 postgraphile 相关镜像 →
graphile/worker logo
graphile/worker
by graphile
高性能Node.js/PostgreSQL任务队列,支持在后台运行各类任务(如发送邮件、生成PDF等),避免阻塞主应用,适用于任何PostgreSQL支持的应用。
110K+ pulls
上次更新:4 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
graphile/postgraphile
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
咨询镜像拉取问题请 提交工单,官方技术交流群:13763429
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.