PostgresSQL 容器管理

本文介绍如何通过Docker部署PostgreSQL,并提供了一系列PostgreSQL的常用操作指令,包括数据库的创建、备份与恢复等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、PostgressSQL的Docker部署:

docker search postgres
docker pull postgres

mkdir -p /data/pgdata

docker run --name mypostgres -e POSTGRES_PASSWORD=123456 -p 8432:5432 -v /data/pgdata:/var/lib/postgresql/data -d postgres:latest

docker ps -a

说明:密码建议使用复杂密码。

2、常用操作方法:

docker exec -it mypostgres psql -U postgres

docker logs mypostgres

3、Postgres 常见操作方法:

登录:
psql (连接数据库, 默认用户和数据库都是postgres)
psql -U <user> -d <dbname>

数据库操作:
1、列举数据库:
\l

2、切换数据库:
\c <dbname>

3、列举表:
\dt

4、查看表结构:
\d tblname

5、创建数据库:
create database <dbname>

6、删除数据库:
drop database <dbname>

7、创建表:
create table ([字段名1] [类型1] ;,[字段名2] [类型2],......<,primary key (字段名m,字段名n,...)>;); 

8、在表中插入数据:
insert into 表名 ([字段名m],[字段名n],......) values ([列m的值],[列n的值],......);

9、备份数据库:
pg_dump -U postgres -f /tmp/postgres.sql postgres (导出postgres数据库保存为postgres.sql)
pg_dump -U postgres -f /tmp/postgres.sql -t test01 postgres (导出postgres数据库中表test01的数据)
pg_dump -U postgres -F t -f /tmp/postgres.tar postgres (导出postgres数据库以tar形式压缩保存为postgres.tar)

10、恢复数据库:
psql -U postgres -f /tmp/postgres.sql bk01 (恢复postgres.sql数据到bk01数据库)
pg_restore -U postgres -d bk01 /tmp/postgres.tar  (恢复postgres.tar数据到bk01数据库)

11、切换用户:
\c - <username>

12、创建用户并设置密码:
CREATE USER 'username' WITH PASSWORD 'password';
CREATE ROLE 'username' CREATEDB PASSWORD 'password' LOGIN; (创建角色并授予创建数据库及密码登录的属性)

13、修改用户密码:
ALTER USER 'username' WITH PASSWORD 'password';

14、数据库授权:
GRANT ALL PRIVILEGES ON DATABASE 'dbname' TO 'username';

15、修改用户权限:
ALTER ROLE 'username' createdb ; (授予创建数据库权限)
ALTER ROLE 'username' superuser ;(授予超级管理员权限)

16、角色属性:
属性 说明
login 只有具有 LOGIN 属性的角色可以用做数据库连接的初始角色名。
superuser 数据库超级用户
createdb 创建数据库权限
createrole 允许其创建或删除其他普通的用户角色(超级用户除外)
replication 做流复制的时候用到的一个用户属性,一般单独设定。
password 在登录时要求指定密码时才会起作用,比如md5或者password模式,跟客户端的连接认证方式有关
inherit 用户组对组员的一个继承标志,成员可以继承用户组的权限特性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值