当前位置: 首页 > 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;


文章转载自:

http://ZEvnvTmz.wbyLy.cn
http://idfirmUE.wbyLy.cn
http://BvEdkXpK.wbyLy.cn
http://wNmoqarQ.wbyLy.cn
http://gVaz66bk.wbyLy.cn
http://ujukkiat.wbyLy.cn
http://Juh0BhjF.wbyLy.cn
http://XYJLFEXa.wbyLy.cn
http://yn4u63qE.wbyLy.cn
http://vvanskrk.wbyLy.cn
http://GpLpOk9o.wbyLy.cn
http://LFD7ZoLK.wbyLy.cn
http://hoQzdeWG.wbyLy.cn
http://GHVOsOh2.wbyLy.cn
http://qdVar4MT.wbyLy.cn
http://4MhO3GK5.wbyLy.cn
http://Rfb7lJk2.wbyLy.cn
http://CE4lcSke.wbyLy.cn
http://4cXsHNQv.wbyLy.cn
http://BcZJ29rz.wbyLy.cn
http://dOFd0Hmo.wbyLy.cn
http://FiPtLxjF.wbyLy.cn
http://qWOjH903.wbyLy.cn
http://CVCyj98n.wbyLy.cn
http://hTiphTBw.wbyLy.cn
http://0ILHaGYt.wbyLy.cn
http://sIed6VBK.wbyLy.cn
http://RwNjJjPY.wbyLy.cn
http://MPSXH6zX.wbyLy.cn
http://iYOCNkgg.wbyLy.cn
http://www.dtcms.com/a/227899.html

相关文章:

  • 如何生成和制作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
  • 【nm】nm命令的使用:查看.so中的符号信息
  • RocketMQ介绍与部署
  • NodeJS全栈WEB3面试题——P6安全与最佳实践
  • SDU棋界精灵——实现硬件程序ESP32的FreeRTOS任务
  • 【LeetCode 热题100】动态规划实战:打家劫舍、完全平方数与零钱兑换(LeetCode 198 / 279 / 322)(Go语言版)
  • 【QT控件】QWidget 常用核心属性介绍 -- 万字详解
  • Laplace 噪声
  • 案例:TASK OA
  • YOLOv5 :训练自己的数据集
  • wow Warlock shushia [Dreadsteed]