postgresql-docker安装

安装环境:centos7.7
1.查询可用的docker镜像
docker search postgres
2.我们选择docker.io/postgres这个星级最高的下载
docker pull docker.io/postgres(这里如果不加版本号,就默认下载最新的,如果加了版本号docker pull docker.io/postgres:10,则是下载指定版本)
3.查看本机镜像
docker image ls
4.启动容器,这里我们启动版本号为10的镜像,使用它的IMAGE ID来启动
docker run -v /storage/postgresql/data:/var/lib/postgresql/data --restart=always --privileged=true --name postgresql13 -e POSTGRES_PASSWORD=sinnrenadmin -p 5432:5432 c96f8b6bc0d9
run代表启动容器
--name postgresql10表示将启动的容器命名为postgresql10
POSTGRES_PASSWORD=sa 表示给pg默认的用户postgres的密码设置为sa
5432:5432表示将机器的端口和容器的端口作映射
b62e41d8ddcc表示启动名为b62e41d8ddcc的镜像
如果想该容器随着docker的重启跟着重启的话,请加上--restart=always ,也就是下面这样
docker run --restart=always --name postgresql10 -e POSTGRES_PASSWORD=sa -p 5432:5432 -d b62e41d8ddcc
大多数情况下,启动数据库容器,都需要将数据卷挂载到容器外,这样,容器被删除了,数据也不会丢失:
docker run -v /storage/postgresql/data:/var/lib/postgresql/data --restart=always --privileged=true --name postgresql13 -e POSTGRES_PASSWORD=sinnrenadmin -p 5432:5432 c96f8b6bc0d9
注意,这里要给权限--privileged=true,不然会提示失败。-v /home/pg10/data:/var/lib/postgresql/data表示将容器的数据文件挂载到Linux的/home/pg10/data目录下。
这里有个参数-d,这个参数的作用是从后台启动。如果不加,就是前台启动。

    5.查看容器
    docker ps -a
    6、进入指定容器
                            docker exec -it 775c7c9ee1e1 /bin/bash 或 docker exec -it postgres psql -U postgres
                            7、启动docker   docker start <id或名称>
                            8、停止docker   docker stop <id或名称>

操作pg数据库
2,登录数据库:
psql -U postgres
3,修改密码:
ALTER USER postgres with encrypted password 'sinnrenadmin';
此处设置用户postgre的密码为root,可根据自己需要,自行修改。
4,退出数据库:
\q

其他常用命令:
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。

创建用户:
create user test with password 'rong ';
创建用户数据库
CREATE DATABASE testdb OWNER test;
将testdb数据库的所有权限都赋予test:
GRANT ALL PRIVILEGES ON DATABASE testdb TO test;
删除数据库:
DROP DATABASE dbname
修改数据库拥有者:
alter database "srdb" owner to "ffa";

猜你喜欢

转载自blog.51cto.com/xuanxy/2544430