91 lines
1.8 KiB
Markdown
91 lines
1.8 KiB
Markdown
# docker部署postgres数据库服务
|
||
|
||
> 本文同时实现按中文拼音排序(将默认语言环境设置为zh_CN.utf8)
|
||
|
||
基于docker和docker-compose,操作前要先安装这两个服务和工具。
|
||
|
||
## 创建存储目录
|
||
|
||
比如创建`/data/postgres/`目录。
|
||
|
||
```sh
|
||
mkdir /data/postgres -p
|
||
```
|
||
|
||
## 创建编排文件
|
||
|
||
创建文件`/data/postgres/docker-compose.yml`,内容如下(注意自己改postgres用户的密码):
|
||
|
||
以host模式启动的编排文件:
|
||
|
||
```yml
|
||
version: "3.1"
|
||
services:
|
||
db:
|
||
image: postgres:14
|
||
restart: always
|
||
environment:
|
||
POSTGRES_PASSWORD: NASDnyeUgql6U4I9fa
|
||
PGDATA: /var/lib/postgresql/data/pgdata
|
||
volumes:
|
||
- ./data:/var/lib/postgresql/data
|
||
network_mode:
|
||
host
|
||
```
|
||
|
||
以映射端口方式启动的编排文件:
|
||
|
||
```yml
|
||
version: "3.1"
|
||
services:
|
||
db:
|
||
image: postgres:14
|
||
restart: always
|
||
environment:
|
||
POSTGRES_PASSWORD: NASDnyeUgql6U4I9fa
|
||
PGDATA: /var/lib/postgresql/data/pgdata
|
||
volumes:
|
||
- ./data:/var/lib/postgresql/data
|
||
ports:
|
||
- 5432:5432
|
||
```
|
||
|
||
## 启动容器
|
||
|
||
在`/data/pgsql`目录下执行下面的命令:
|
||
|
||
```sh
|
||
docker-compose up -d
|
||
```
|
||
|
||
## 查看当前postgres版本
|
||
|
||
### 方法一 - 进入容器使用命令
|
||
|
||
先用`docker ps`命令找到postgres容器实例,假设实例id是`52a63c60bb59`:
|
||
|
||
```sh
|
||
docker exec -it 52a63c60bb59 /bin/bash
|
||
# 进入容器后执行下面命令
|
||
psql --version
|
||
# psql (PostgreSQL) 14.1 (Debian 14.1-1.pgdg110+1)
|
||
postgres --version
|
||
# postgres (PostgreSQL) 14.1 (Debian 14.1-1.pgdg110+1)
|
||
pg_config|grep VERSION
|
||
# VERSION = PostgreSQL 14.1 (Debian 14.1-1.pgdg110+1)
|
||
```
|
||
|
||
### 方法二 - 连接数据库使用查询命令
|
||
|
||
```sql
|
||
show server_version;
|
||
```
|
||
|
||
结果如下:
|
||
|
||
```txt
|
||
server_version |
|
||
------------------------------+
|
||
14.1 (Debian 14.1-1.pgdg110+1)|
|
||
```
|