FAIRYFAR-INTERNAL
 
  FAIRYFAR-INTERNAL  |  SITEMAP  |  ABOUT-ME  |  HOME  
您的足迹: PostgreSQL常用命令
PostgreSQL常用命令

一、用户与权限管理

创建role

snippet.sql
CREATE USER postgres SUPERUSER;

移除超级用户权限

snippet.sql
ALTER ROLE myuser WITH NOSUPERUSER;

创建新用户

snippet.bash
createuser username

给用户赋予访问数据库的权限

snippet.sql
-- 整个数据库赋权
tpch1s=# GRANT ALL privileges ON DATABASE tpch1s TO myuser;
-- 某个表赋权
tpch1s=# GRANT ALL PRIVILEGES ON lineitem TO myuser;
-- 所有表赋权
tpch1s=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO myuser;

查询当前登录用户名

snippet.sql
SELECT USER;
-- 或者
SELECT * FROM CURRENT_USER

二、客户端

显示查询耗时

snippet.sql
/* 显示时间:*/
\timing ON
/* 关闭时间:*/
\timing off

.psqlrc

~/.psqlrc在psql客户端连接时,先行执行,所以,可以用于执行初始化操作。

snippet.sql
SET enable_vecengine = ON;
\timing ON

psql使用tab字符

psql客户端默认的tab键行为是自动补全功能,如有从别处复制过来的SQL语句中有tab字符,那么该SQL在psql客户端无法执行,报一些语法错误。

使用 -n 参数可以解决无法输入tab字符问题,例如:

snippet.bash
psql -d test -n

三、配置参数

修改配置参数

临时修改,重新连接客户端或者服务重启后丢失:

snippet.sql
SET vec_parallel_degree = 8;

永久修改,重启服务也不丢失设置:

snippet.sql
ALTER DATABASE tpch SET vec_parallel_degree = 8; -- 需要重新连接客户端


打赏作者以资鼓励: