docker安装pg数据库及pg数据库基本操作

一、首先准备pg数据库的docker镜像

二、先创建一个文件作为pg数据库数据文件、配置文件等的外部挂载文件

三、创建镜像

docker run -it -d --name postgres14 --restart=always --privileged=true -p 5432:5432 -e POSTGRES_PASSWORD=postgres -v /home/fengyang/pg_data:/var/lib/postgresql 9f3ec01f884d

这样就创建好容器了,先看一下我们挂载的目录,已经有了一个data目录

参数解释:

-p:端口映射,物理机的5432端口映射到容器内部5432端口

-e:设置密码,就是登录数据库的密码(这里要注意两点,一是设置密码时候,不用加引号,二是postgre数据库有一个默认用户名就是postgres)

-v:文件挂载,把容器内的文件挂载到容器外,这样需要修改东西的话就不用再进入到容器里了

--restart=always:开机自启

--privileged=true: 给自己容器内部一些操作的权限,其实这里并不需要,只是个人习惯

三、开始操作数据库

进入容器内部:

进入数据库:psql -U 用户名 数据库(这里的数据库可以省略,不写默认进入postgres库) -W 按回车输入密码,密码就是创建容器时候,-e设置的

四、数据库基本操作

  1. 创建数据库:create database 数据库名;

  1. 查看所有数据库:SELECT * FROM pg_database ORDER BY datname

进入数据库:\c 数据库; 密码同理是创建容器时 -e 设置的。

  1. 创建用户: create user 用户名 with password '密码';

  1. 查看所有用户: SELECT * FROM pg_roles;

  1. 创建模块: create schema 模块名;

  1. 查看所有模块: SELECT * FROM information_schema.schemata;

  1. 给操作某模块的用户赋权限:GRANT ALL PRIVILEGES ON schema 模块名 TO 用户;

  1. 通过备份文件导入数据:

1) exit; 退出数据库

2)docker cp将备份文件复制到容器中

3)pg_restore -d 数据库 -U 用户名 备份文件; 导入备份文件(注意 如果这里不写-U 用户名 会默认到root用户名下,一般容易报错)。

猜你喜欢

转载自blog.csdn.net/wangziyang777/article/details/128735036