在mac上使用docker部署PostgreSQL数据库
前言
在做数据库系统作业的时候,因为在mac上用PostgreSQL导入benchmarksql数据库的时候总会发生些奇怪的错误。为了解决这个问题,使用在docker上部署的PostgreSQL导入benchmarksql,可以避免类似"This connection has been closed"或者"the database system is in recovery mode"的问题。
下载docker
我这边是直接上官网下载的。
拉取postgres镜像
在teminal中输入docker pull postgres
以拉取postgres镜像。
运行镜像
相关链接
在teminal中运行sudo docker run -it --name pgsql -e "POSTGRES_PASSWORD=你起一个密码" -e POSTGRES_USER=你起一个账户名 -p 你指定一个端口:5432 -d postgres
然后执行docker ps -a
看看容器有没有跑起来。
登陆psql
在docker容器跑起来之后,就可以以你设置的账号密码登陆了:psql -U '账户名' -p '指定的端口' -h 'IP地址' -d '数据库名字(可选)'
这里需要注意:-h
后面的地址不一定是localhost
,一般是0.0.0.0
,所以需要显示指定。
然后输入密码就可以登陆了。
用benchmarksql来测试
关于benchmarksql的测试在这里不详细说,主要是需要改变配置文件my.pg
,如截图:
关键是conn=
后面的地址和端口需要设置对,还有用户名和密码。
不要忘了在导入数据之前先创建一个新的数据库。
停止容器
不用的时候可以将容器停止了:docker stop <容器ID>
启动容器
docker start <容器ID>
from https://blog.csdn.net/qq_44026293/article/details/105232566