在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>

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐