PostgreSQL学习笔记
几个工具
pg_ctl
pg_ctl start
启动PostgreSQL服务
常用命令
1 | pg_ctl start |
结尾要打一个;
不然会逐条运行,相当于一个队列
以下是一些常用的 PostgreSQL 命令:
psql
: 启动 PostgreSQL 客户端。\q
: 退出 psql 客户端。\c database_name
: 连接到指定的数据库。\l
: 列出当前 PostgreSQL 实例中的所有数据库。\dt
: 列出当前数据库中的所有表格。\d table_name
: 显示指定表格的结构。SELECT * FROM table_name
: 选择指定表格中的所有行和所有列。INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)
: 向指定表格中插入新行。UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition
: 更新符合条件的行。DELETE FROM table_name WHERE condition
: 删除符合条件的行。CREATE TABLE table_name (column1 data_type, column2 data_type, ...)
: 创建新表格。ALTER TABLE table_name ADD COLUMN column_name data_type
: 在现有表格中添加新列。DROP TABLE table_name
: 删除指定表格。GRANT permissions ON table_name TO user
: 授予用户对指定表格的权限。REVOKE permissions ON table_name FROM user
: 撤销用户对指定表格的权限。
注意:
\d "OAuthTokens"
:似乎带有大写字母的表名称,也需要使用双引号。。。
卧槽卧槽。
用户管理
在 PostgreSQL (psql
) 中设置一个新用户和密码的步骤如下:
✅ 一、创建新用户并设置密码
1 | CREATE USER new_username WITH PASSWORD 'your_password'; |
####NOTE - 示例:
1 | CREATE USER alice WITH PASSWORD 'secure1234'; |
🛡️ 二、授予权限(常见权限)
根据用途授予权限:
1. 授予创建数据库权限:
1 | ALTER USER alice CREATEDB; |
2. 授予超级用户权限(谨慎使用):
1 | ALTER USER alice WITH SUPERUSER; |
3. 授予连接数据库权限(对已有数据库):
1 | GRANT CONNECT ON DATABASE your_database TO alice; |
📦 三、在某个数据库中授予表的读写权限
进入某个数据库后,再运行:
1 | GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO alice; |
如果用户需要对未来创建的表也有权限,还需要:
1 | ALTER DEFAULT PRIVILEGES IN SCHEMA public |
🚀 四、使用 psql
登录 PostgreSQL 并执行以上语句
1 | psql -U postgres |
登录后复制粘贴这些 SQL 命令即可。
📁 五、可选:修改已有用户密码
1 | ALTER USER alice WITH PASSWORD 'new_secure_password'; |
如果你是在 Linux 或 Mac 中用 psql
,你也可以使用一行命令执行:
1 | psql -U postgres -c "CREATE USER alice WITH PASSWORD 'secure1234';" |
需要我帮你写一个完整的初始化脚本吗?可以包括创建数据库、用户、权限一体的 init.sql
。你只需告诉我用户名、密码和数据库名就行。