配置本机的psql环境
安装psql(以15版本为例)
代码语言:shell复制brew install postgresql@15
配置环境变量
代码语言:shell复制echo 'export PATH="/opt/homebrew/opt/postgresql@15/bin:$PATH"' >> ~/.zshrc
source .zshrc
启动psql服务
代码语言:shell复制brew services start postgresql@15
验证
psql安装后默认数据库用户名即当前用户名(不是postgres,是当前的用户名),默认会创建一个名为postgres的数据库。
可通过如下命令测试psql是否安装成功
代码语言:shell复制psql -d postgres
如出现如下内容,代表安装成功,输入exit退出数据库即可。
代码语言:txt复制psql (15.1 (Homebrew))
Type "help" for help.
postgres=#
配置docker
安装docker
参考docker官网。macos安装docker比较方便,只需安装docker desktop即可
https://www.docker.com/
拉取psql镜像
首先通过docker search
搜索需要的镜像
docker search postgresql
拉取你需要的镜像
代码语言:shell复制docker pull postgres
根据镜像创建容器
代码语言:shell复制docker run -it -d --name psql -e POSTGRES_USER=vin -e POSTGRES_DB=testdb -e POSTGRES_PASSWORD=vin -p 20000:5432 postgres
参数说明:
-it -d
这两个参数一般同时使用,保证 container 以交互的方式在后台运行。--name
指定容器名-e POSTGRES_USER=vin
指定数据库用户名-e POSTGRES_PASSWORD=vin
指定数据库密码-e POSTGRES_DB=testdb
创建名为testdb
的数据库-p 20000:5432
将主机的端口与容器暴露的端口进行映射,访问主机的20000端口即访问容器的5432端口postgres
镜像名,就是之前docker pull的镜像
验证
使用docker ps命令查看运行中的容器
出现类似结果代表容器启动成功
代码语言:txt复制CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
66ff603f3779 postgres "docker-entrypoint.s…" 7 seconds ago Up 6 seconds 0.0.0.0:20000->5432/tcp psql
连接
代码语言:shell复制psql -p 20000 -U vin -W -d postgres -h localhost
参数说明
-p
指定数据库连接的端口,由于上面配置了端口映射20000->5432,所以需要指定20000端口-U
数据库用户名,需要和上面创建容器时制定的用户名相同-W
在运行命令后会要求输入密码-d
指定连接的数据库名-h
指定连接主机ip,这里由于是本机的docker需要指定为localhost