postgresql】 特性非常齐全的自由软件的对象-关系型数据库管理系统【postgresql】


创建新的用户

CREATE USER WITH ENCRYPTED PASSWORD '';

授予 CONNECT 访问权限

GRANT CONNECT ON DATABASE database_name TO username;

授予模式使用

GRANT USAGE ON SCHEMA schema_name TO username;

为特定表授予 SELECT 权限

GRANT SELECT ON table_name TO username;

将 SELECT 授予多个表

GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO username;

例子

grant select on all tables in schema public to user1;

创建以 utf-8 字符的数据库,并且以 template0 为模版创建

CREATE DATABASE dbname WITH OWNER = postgres TEMPLATE = template0 ENCODING = 'UTF8';

给指定用户授指定数据库所有权限

GRANT ALL PRIVILEGES ON DATABASE dbname to username;

备份所有数据库

pg_dumpall > db.out

备份单个数据库

pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) > /data/dum.sql

恢复单个数据库

psql -U postgres(用户名) 数据库名(缺省时同用户名) < /data/dum.sql

备份单个数据库并压缩

pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) | gzip > /data/dum.sql.gz

恢复单个压缩数据库备份

gunzip < /data/dum.sql.gz | psql -h localhost -U postgres(用户名) 数据库名(缺省时同用户名)

备份单表操作

pg_dump -U postgres -h localhost -p 5432 -t staff -f staff.sql yjl(表示数据库名称)-U 表示用户-h 表示主机-p 表示端口号-t 表示表名-f 表示备份后的sql文件的名字-d 表示要恢复数据库名称

恢复数据单表操作

psql -U postgres -h localhost -p 5432 -d product -f staff.sql

查询当前连接数

select count(1) from pg_stat_activity;

查询最大连接数

show max_connections;

统计各数据库占用磁盘大小

 SELECT d.datname AS Name, pg_catalog.pg_get_userbyid(d.datdba) AS Owner,CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))ELSE 'No Access'END AS SIZEFROM pg_catalog.pg_database dORDER BYCASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')THEN pg_catalog.pg_database_size(d.datname)ELSE NULLEND DESC -- nulls firstLIMIT 20

分类列表:


  1. postgresql
  2. shell
  3. VACUUM

腾图小抄 SCWY.net v0.03 小抄561条 自2022-01-02访问317591次