Docker安装PostgreSQL数据库
首先使用 hub.docker.com 搜索 Postgresql
一、安装和拉取镜像
1.1 拉取镜像
在 https://hub.docker.com/_/postgres 中查看“PostgreSQL数据库镜像”可用版本。
我选择拉取PostgreSQL 11.14 版本:
docker pull postgres:11.14
1.2 创建本地卷
数据卷可以在容器之间共享和重用,默认会一直存在,即使容器被删除(docker volume inspect pgdata可查看数据卷的本地位置)
docker volume create pgdata
1.3 运行一个PostgreSQL数据库实例
docker run --name pgsql -p 5432:5432 -e POSTGRES_PASSWORD=abc123 -v pgdata:/var/lib/postgresql/data --restart=always -d postgres:11.14
一开始我是选择
-v D:\pgsql\data:/var/lib/postgresql/data
这样的参数,但是会启动失败:
2022-04-01 07:03:10.362 UTC [82] FATAL: data directory "/var/lib/postgresql/data" has invalid permissions
2022-04-01 07:03:10.362 UTC [82] DETAIL: Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
二、客户端访问
2.1 在实例内用 psql进行访问:
# 第一条命令进入名为 `pgsql`的容器运行时;
docker exec -it pgsql bash
# 第二条命令登录postgresql命令行控制台
psql -U postgres -W
根据提示输入密码 abc123
:
2.2 pgAdmin访问
首先你需要下载安装 pgAdmin
2.2.1 pgAdmin中add New Server时出现的错误
在 pgAdmin 中 Add New Server 时,出现了 crypt key is missing
的错误提示
解决方案:
重新启动一下pgAdmin并正确设置 master 密码。
就是这玩意儿不能跳过,必须填一下。
参考 What is "crypt key missing" error in Pgadmin4 and how to resolve it?
2.3 IDEA访问
更多图解:intellij连接postgresql数据库
如果看不到右边的 Database 栏,可以点击 IDEA 左下角的 试一下!