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; -- 需要重新连接客户端
打赏作者以资鼓励:
![]() | ![]() |