PostgreSQL常用的psql命令

***用户创建修改***

postgres 默认用户是postgres,为超级用户。

第一步:先以postgress 登录

1.以指定用户登录

psql -U '用户名' 

2.创建数据库新用户

CREATE USER 用户名 WITH PASSWORD '*****';

\password [username]

3.授予用户数据库权限

GRANT ALL PRIVILEGES ON DATABASE 数据库名 TO 用户名;

4.改密码

alter user postgres with password 'postgres';

5.查看当前连接的用户名

select * from current_user;

6.查看所有用户

select * from pg_user;

7.重命名用户

alter user [username] rename to [newusername];

8.删除用户

drop user username;

***数据库***

1.查看数据库大小

select pg_size_pretty(pg_database_size('postgres'));

2.查看当前连接的数据库

select current_database();

切换库\c 库名

3.浏览数据库表对象信息

\d    \d+

4.创建数据库

create database jwdb with owner jwadm encoding 'UTF8' tablespace tbls_jw;

5.删除数据库

drop database DbName;

***模式***

1.查询某个模式下的所有表

select tablename from pg_tables where schemaname = 'htest' order by tablename;

2.修改模式变量

alter role postgres set search_path to htest,"$user",public;

3.临时设置模式变量

set search_path to yun,"$user",public;

***用户权限***

1.创建新用户并为其赋权

create user [username] with superuser;

2.修改用户权限

alter role [username] with nosuperuser;

3.查看某个用户权限

select * from information_schema.table_privileges where grantee='username';

\du

4.赋给用户某张表的所有权限

GRANT ALL ON tablename TO user;

5.赋给用户某个数据库的所有权限

GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;

6.撤销用户权限

REVOKE privileges ON tablename FROM user;

7.删除用户

drop owned by root cascade;

drop user root;

***表***

1.创建一张表(复制一张表)

create table test7 (like test4 including all);

create table test5 as select * from test4 with no data;

***表空间***

1.创建表空间

create database dbname tablespace tbsname;

2.删除表空间

DROP TABLESPACE name;

3.移动表到表空间

alter table tabname set tablespace tbsname;

4.临时表空间的创建

mkdir /pgdata/tbls/tmptbs

create tablespace tmptbs1 location '/pgdata/tbls/tmptbs1'; 

alter role all set temp_tablespaces='tmptbs1';

***模式***

1.重命名模式

alter schema name rename to newname;

2.修改模式属组

alter schema name owner to newowner;

***参数***

1.某项参数查询

select * from pg_settings where name in (‘work_mem’);

2.查询postgresql.conf最近修改时间

select 'stat '||setting||' |grep Modify' from pg_settings  where name ='hba_file';

再在操作系统层面执行

***编码***

1.查看客户端编码

show client_encoding;

2.创建不同编码的数据库

create database dbtest with encoding = 'UTF8' LC_CTYPE = 'en_US.UTF-8' LC_COLLATE = 'en_US.UTF-8' template = template0;

3.初始化创建不同编码数据库

需要修改操作系统的编码值

LC_ALL > LC_* > LANG

export LC_ALL="zh_CN.GB2312"

initdb -D /pgdata/pgtest/pgzf2/ -E EUC_CN --locale=C

**会话**

1.查看当前会话连接数

select count(*) from pg_stat_activity

2.会话连接最大值

show max_connections;

**切换wal日志**

1.切换当前的wal日志

select pg_switch_wal();

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值