docker安装pg数据库及pg数据库基本操作
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
一、首先准备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设置的
四、数据库基本操作
创建数据库create database 数据库名;
查看所有数据库SELECT * FROM pg_database ORDER BY datname
进入数据库\c 数据库; 密码同理是创建容器时 -e 设置的。
创建用户: create user 用户名 with password '密码';
查看所有用户 SELECT * FROM pg_roles;
创建模块: create schema 模块名;
查看所有模块: SELECT * FROM information_schema.schemata
给操作某模块的用户赋权限GRANT ALL PRIVILEGES ON schema 模块名 TO 用户;
通过备份文件导入数据:
1 exit; 退出数据库
2docker cp将备份文件复制到容器中
3pg_restore -d 数据库 -U 用户名 备份文件; 导入备份文件(注意 如果这里不写-U 用户名 会默认到root用户名下一般容易报错)。