comfy/postgres本Docker镜像基于PostgreSQL 9.6.10构建,预安装并启用了plv8扩展。plv8是PostgreSQL的JavaScript执行引擎扩展,允许开发人员在数据库中直接编写和执行JavaScript代码,包括存储过程、函数、触发器等,扩展了PostgreSQL的业务逻辑处理能力。
假设镜像名称为postgres:9.6.10-plv8(实际使用时需替换为具体镜像名称或地址):
bashdocker pull postgres:9.6.10-plv8
bashdocker run -d \ --name postgres-plv8 \ -p 5432:5432 \ -v ./pgdata:/var/lib/postgresql/data \ -e POSTGRES_PASSWORD=mysecretpassword \ -e POSTGRES_USER=myuser \ -e POSTGRES_DB=mydb \ postgres:9.6.10-plv8
yamlversion: '3' services: postgres-plv8: image: postgres:9.6.10-plv8 container_name: postgres-plv8 ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: mysecretpassword POSTGRES_USER: myuser POSTGRES_DB: mydb restart: unless-stopped volumes: pgdata:
容器启动后,进入容器并连接数据库验证:
bash# 进入容器 docker exec -it postgres-plv8 bash # 连接数据库 psql -U myuser -d mydb # 验证plv8扩展 mydb=# SELECT plv8_version(); plv8_version -------------- 2.3.15 # 示例版本号,具体以实际安装为准 (1 row)
创建并调用JavaScript函数:
sql-- 创建JS函数(两数相加) CREATE OR REPLACE FUNCTION add(a int, b int) RETURNS int AS $$ return a + b; $$ LANGUAGE plv8; -- 调用函数 SELECT add(1, 2); -- 返回 3
通过环境变量配置数据库核心参数,常用参数如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
POSTGRES_PASSWORD | 数据库超级用户密码 | 无(必填) |
POSTGRES_USER | 数据库超级用户名 | postgres |
POSTGRES_DB | 初始化数据库名称 | 与POSTGRES_USER相同 |
POSTGRES_INITDB_ARGS | 初始化数据库时的额外参数(如编码设置) | 无 |
PGDATA | 数据库数据存储路径 | /var/lib/postgresql/data |
注:plv8扩展相关配置(如内存限制)可通过修改
postgresql.conf实现,需通过数据卷挂载自定义配置文件或在容器启动后调整。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务