postgresql 在docker compose中运行psql命令

n3ipq98p  于 2023-06-29  发布在  PostgreSQL
关注(0)|答案(2)|浏览(169)

我有一个docker compose文件,它可以启动postgres db。在这个容器启动后,我如何运行一些psql命令?

这就是我想要运行的
createuser postgres
创建数据库
创建数据库TEST_DB
psql -d DB -c“GRANT CREATE ON DATABASE“DB”TO postgres”
psql -d DB -c“CREATE EXTENSION IF NOT EXISTS“uuid-ossp””
psql -d DB -c“如果不存在,则创建扩展“pg_trgm””
psql -d TEST_DB -c“授予数据库上创建“TEST_DB”到postgres”
psql -d TEST_DB -c“CREATE EXTENSION IF NOT EXISTS“uuid-ossp””
psql -d TEST_DB -c“CREATE EXTENSION IF NOT EXISTS“pg_trgm””

4jb9z9bj

4jb9z9bj1#

官方postgres镜像支持初始化脚本,您可以将命令保存在/docker-entrypoint-initdb.d中的.sql文件中,然后执行
如果您想在从该镜像派生的镜像中执行其他初始化,请在/docker-entrypoint-initdb.d下添加一个或多个 .sql、.sql.gz或 *.sh脚本(如有必要,请创建目录)。在入口点调用initdb来创建默认的postgres用户和数据库之后,它将运行任何 *.sql文件,运行任何可执行的 *.sh脚本,并在该目录中找到任何不可执行的 *.sh脚本,以便在启动服务之前进行进一步的初始化。

t9eec4r0

t9eec4r02#

postgres图像初始化脚本做到了!我在Dockerfile中使用COPY将一些.sh文件复制到容器中。

相关问题