2024-11-27-PostgreSQL
Created At :
DOCKER部署
单机
创建env配置文件
#pgsqlenv.env
POSTGRES_PASSWORD=123456
# 指定 端口 指定挂载目录 密码
docker run -d --rm --name pgsql --env-file /home/docker/pgsql/pgsqlenv.env -p 15432:5432 --network inet -v /home/docker/pgsql/data/:/var/lib/postgresql/data/ postgres:14.10
高可用
创建 用户 数据库
#连接到容器内
docker exec -it pgsql psql -U postgres
$ psql (14.10 (Debian 14.10-1.pgdg120+1))
$ Type "help" for help.
#\q 退出
postgres=# \q
创建用户
CREATE USER sonar WITH PASSWORD '123456';
创建数据库
CREATE DATABASE sonarqubedb;
赋权
GRANT ALL PRIVILEGES ON DATABASE sonarqubedb TO sonar;
备份和恢复
#备份
#pg_dump -U username -h hostname dbname > backup.sql
#pg_dumpall -U username -h hostname > backupall.sql
#-U 指定用户名
#-h 指定服务器的主机名(可选,如果是在本地可以省略)
#dbname 是要备份的数据库名。
#backup.sql 是备份文件的名字
docker exec -it psql pg_dumpall -U sonar sonarqubedb > /home/sonaralldb.sql
docker exec -it psql pg_dumpall -U sonar > backall.sql
#恢复
#psql -U username -h hostname -d dbname -f backup.sql
#-U 指定用户名。
#-h 指定服务器的主机名(可选,如果是在本地可以省略)。
#-d 指定要恢复到的数据库名。
#-f 指定备份文件
docker exec -it psql -U sonar -d sonarqubedb -f sonaralldb.sql