当前位置: 首页 > news >正文

docker创建postgreSql带多个init的sql

好的!下面是一个完整的可运行项目结构,包含:

  • docker-compose.yml:启动 PostgreSQL(支持 pgvector)

  • init-db.sql:创建数据库 myapp

  • init-schema.sql:在 myapp 中建表并初始化数据

  • ✅ 自动执行顺序正确,无需手动干预


🗂 项目结构

your-project/
├── docker-compose.yml
├── init-db.sql
├── init-schema.sql
└── data/                <-- 容器初始化后生成(不要提前创建)

📄 1. docker-compose.yml

version: "3.8"services:postgres:image: pgvector/pgvector:pg16container_name: my-postgresenvironment:POSTGRES_PASSWORD: rootports:- "5432:5432"volumes:- ./data:/var/lib/postgresql/data- ./init-db.sql:/docker-entrypoint-initdb.d/01-init-db.sql- ./init-schema.sql:/docker-entrypoint-initdb.d/02-init-schema.sqlrestart: always

📄 2. init-db.sql

-- 创建数据库 myapp CREATE DATABASE myapp;

📄 3. init-schema.sql

-- 切换到 myapp 数据库
\connect myapp-- 创建用户表
CREATE TABLE users (id SERIAL PRIMARY KEY,name TEXT NOT NULL,email TEXT UNIQUE NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);-- 插入测试数据
INSERT INTO users (name, email) VALUES
('Alice', 'alice@example.com'),
('Bob', 'bob@example.com');

✅ 启动项目

确保当前目录下没有已有 data/ 文件夹(PostgreSQL 启动时需要创建空数据库)

docker-compose down -v     # 清除旧容器和卷(第一次运行推荐)
rm -rf ./data              # 删除旧数据目录,确保执行初始化脚本
docker-compose up -d       # 启动容器


🔎 验证

登录数据库检查数据是否已插入:docker exec -it my-postgres psql -U postgres -d myapp然后执行:\d -- 查看表 SELECT * FROM users;

相关文章:

  • 如何生成和制作PDF文件
  • 预览pdf(url格式和blob格式)
  • PDF.js无法显示数字签名
  • Leetcode-7 寻找用户推荐人
  • Electron桌面应用下,在拍照、展示pdf等模块时,容易导致应用白屏
  • 推荐一款PDF压缩的工具
  • 提取 PDF 文件中的文字以及图片中的文字
  • ​链表题解——回文链表【LeetCode】
  • 论文中pdf图片文件太大怎么办
  • 第2章_Excel_知识点笔记
  • Grafana-State timeline状态时间线
  • 从0开始学linux韦东山教程第四章问题小结(3)
  • 自然图像数据集
  • DeepSeek模型多模态扩展与跨模态理解实战
  • mybatis03
  • FastAPI安全认证:从密码到令牌的魔法之旅
  • 使用NMEA Tools生成GPS轨迹图
  • 第100期 DL,多输入多输出通道
  • [网页五子棋][匹配对战]落子实现思路、发送落子请求、处理落子响应
  • 论文略读:Auto-Regressive Moving Diffusion Models for Time Series Forecasting
  • 如何处理脓包痘痘/关键词优化排名软件推荐
  • 公司建设官方网站需要多少钱/网站搜什么关键词好
  • wordpress插件 漏洞/济南seo网站优化公司
  • 中建西部建设北方有限公司网站/百度知道网页入口
  • 苏州网站建设服务公司/黄山网络推广公司
  • 搬瓦工可以做网站吗/网页设计软件dreamweaver