pgsql基础命令总结

SQL

0.前言

之前我们部署了一个单节点的pgsql数据库,当时只是介绍了pgsql的部署过程, 今天我们就来看看pgsql常见的使用命令有哪些。

1.用户相关操作

1.1 创建用户和授权

创建测试用户和测试数据库并赋权

CREATE USER test_user WITH PASSWORD 'test12345';
CREATE DATABASE testdb WITH OWNER test_user ENCODING UTF8;
GRANT ALL PRIVILEGES ON DATABASE testdb TO test_user;

授权连接

GRANT CONNECT ON DATABASE testdb TO test_user;

授权public使用

GRANT USAGE ON SCHEMA PUBLIC TO test_user;

切换到test_db

\c test_db

授予test_db下public下所有表、序列、函数

GRANT SELECT ON ALL TABLES IN SCHEMA public TO test_user;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO test_user;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO test_user;

1.2 查看用户

select current_user; // 查看用户
SELECT rolname,rolpassword FROM pg_authid; // 查看所有用户和密码

1.3 修改用户

修改用户信息

ALTER USER postgres WITH PASSWORD  'xxxx@2024'; // 修改密码
ALTER USER postgres RENAME TO admin; // 修改用户名
ALTER USER postgres with VALID UNTIL '2023-01-01 08:00:00'; // 设置密码有效期
ALTER USER postgres with VALID UNTIL 'infinity'; // 去掉密码有效期

1.4 删除用户

create role test with login; // 创建可以登陆的角色role(用户)
grant all on database postgres to test; // 将postgres库所有权限给test
drop role test; // 直接删除会报错
revoke all on database postgres from test; // 需要revoke test所有权限
drop role test; // 之后再删除就可以了

2.库和表相关操作

2.1 元数据相关操作

template1=# \l   // 查看系统中现存的数据库  
template1=# \q   // 退出客户端程序psql  
template1=# \c   // 从一个数据库中转到另一个数据库中,如template1=# \c sales 从template1转到sales  
template1=# \dt  // 查看表  
template1=# \d tablename  // 查看表结构
template1=# \di  // 查看索引
template1=# \du  // 查看当前 Schema 用户信息

可以看到和mysql相比,元数据相关命令变化还是比较大的。

2.2 创建数据库和表

创建数据库和表

create database testdb; // 创建数据库
\c testdb; // 切换到testdb库

建表语句如下:

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);
\d COMPANY; // 查看表结构,看表是否创建成功
0
0
0
0
关于作者
相关资源
字节跳动 NoSQL 的实践与探索
随着 NoSQL 的蓬勃发展越来越多的数据存储在了 NoSQL 系统中,并且 NoSQL 和 RDBMS 的界限越来越模糊,各种不同的专用 NoSQL 系统不停涌现,各具特色,形态不一。本次主要分享字节跳动内部和火山引擎 NoSQL 的实践,希望能够给大家一定的启发。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论