16402 | lib2 | 18808 | postgres | idle | 127。0。0。1 | SELECT id,sn,name FROM device WHERE id=$1
| | 14144 | | | |
| | 9304 | | | |
| | 992 | | | |
(8 行记录)
数据备份与恢复
方式1:导出sql文件,导入也是sql文件
文本文件导入导出使用 psql
# 导出数据库 lib1
D:\>pg_dump -U postgres -f lib1 lib1
口令:
# 将数据库lib1导出才 文本文件 导入数据库 lib3
D:\>psql -U postgres -d lib3 -f lib1
。。。内容会很多。。。
方式2:dump文件导出导入 -Fc
D:\>pg_dump -U postgres -Fc lib1 > lib1。dump
口令:
D:\>pg_restore -U postgres -d lib3 lib1。dump > a。txt
口令:
方式3:tar文件导出导入 -Ft
D:\>pg_dump -U postgres -Ft lib1 > lib1。tar
口令:
D:\>
D:\>pg_restore -U postgres -d lib3 lib1。tar > a。txt
口令:
注意,
1、方式1执行时,使用 版本10的 psql从 版本13 的 PostgreSQL服务器获取数据时,失败了;
后安装了 PostgreSQL 14,就可以从 低版本13 中导出数据了。
2、方式2、3中,导入时的 信息都被 重定向到了 a。txt 文件。
用户&角色管理
基本概念:
用户、组、角色、权限
系统用户表:pg_user 视图
系统组表:pg_group 视图
系统角色表:pg_roles 视图
注意,都是 视图,不是表。
用户创建、删除:
方式1、createuser。exe、dropdb。exe 命令
%POSTGRESSQL_HOME%/bin目录下:
C:\Users\Mi>createuser --help
createuser 创建一个新的 PostgreSQL 用户。
使用方法:
createuser [选项]。。。 [用户名]
---省略---
C:\Users\Mi>dropuser --help
dropuser 删除一个 PostgreSQL 用户。
使用方法:
dropuser [选项]。。。 [用户名]
选项:
-e, --echo 显示发送到服务端的命令
---省略---
方式2:sql脚本
使用psql连接PostgreSQL后:
postgres=# \h create user
命令: CREATE USER
描述: 定义一个新数据库角色
语法:
CREATE USER 名称 [ [ WITH ] 选项 [ 。。。 ] ]
选项可以是
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT 连接限制
| [ ENCRYPTED ] PASSWORD '口令'
| VALID UNTIL '时间戳'
| IN ROLE 角色名称 [, 。。。]
| IN GROUP 角色名称 [, 。。。]
| ROLE 角色名称 [, 。。。]