PostgreSQL 数据库学习入门:建库、建表、建用户

2023-07-1014:39:17数据库教程Comments1,855 views字数 2226阅读模式

1.超级用户 postgres 初始化

当你第一次安装 PostgreSQL 并初始化时,你可以按照以下步骤进行超级用户 postgres 的初始化设置:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

修改postgres密码

(1). 打开终端,并以超级用户身份登录到系统。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

(2). 使用以下命令切换到 postgres 用户:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

sudo -u postgres -i

(3). 进入 PostgreSQL 的命令行界面 psql文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

psql

(4). 修改 postgres 用户的密码。你可以选择以下任一方式修改密码:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

方式1:使用完整命令行文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

ALTER USER postgres WITH PASSWORD 'new_password';

方式2:使用 \password 命令文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

\password postgres

在命令提示符下,输入新密码并确认。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

(5). 退出 psql 命令行界面。可以使用以下命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

\q

修改postgres身份验证方式

(6). 修改 PostgreSQL 配置文件 postgresql.conf,以允许 postgres 用户使用密码进行身份验证。找到以下行,并确保其未被注释(即没有以 # 开头):文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

#password_encryption = md5

如果该行被注释了,请取消注释并保存文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

修改外部连接权限

(7). 修改 PostgreSQL 的 pg_hba.conf 文件,以允许任意 IP 地址连接并使用 md5 密码进行验证。找到以下行,并确保其未被注释:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

# IPv4 local connections:
host    all             all             0.0.0.0/0               md5

如果该行被注释了,请取消注释并保存文件。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

(8). 重新启动 PostgreSQL 服务,以使配置更改生效。可以使用以下命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

sudo service postgresql restart

现在,你已经完成了超级用户 postgres 的初始化设置,并成功修改了密码、配置文件和访问权限。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

2.用户管理

创建用户

创建一个新用户,可以使用以下 SQL 命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

CREATE USER username WITH PASSWORD 'password';

其中,username 是你想创建的用户名,password 是该用户的密码。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

举例:创建用户 sales_user,密码为 123456文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

CREATE USER sales_user WITH PASSWORD '123456';

删除用户

要删除一个用户,可以使用以下 SQL 命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

DROP USER username;

其中,username 是要删除的用户名。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

举例:删除用户 sales_user文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

DROP USER sales_user;

3.数据库管理

创建数据库

要创建一个新的数据库,可以使用以下 SQL 命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

CREATE DATABASE database_name;

其中,database_name 是你想创建的数据库名称。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

举例:创建数据库 sales_db文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

CREATE DATABASE sales_db;

删除数据库

要删除一个数据库,可以使用以下 SQL 命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

DROP DATABASE database_name;

其中,database_name 是要删除的数据库名称。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

举例:删除数据库 sales_db文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

DROP DATABASE sales_db;

用户授权

要为用户授予特定的权限,可以使用以下 SQL 命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

GRANT permission_name ON database_name TO username;

其中,permission_name 是要授予的权限名称,database_name 是要授权的数据库名称,username 是要授权的用户名。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

举例:为用户 sales_user 授予对数据库 sales_db 的读取权限文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

GRANT SELECT ON sales_db TO sales_user;

4.模式管理

创建模式

要创建一个新的模式,可以使用以下 SQL 命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

CREATE SCHEMA schema_name;

其中,schema_name 是你想创建的模式名称。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

举例:创建模式 sales_schema文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

CREATE SCHEMA sales_schema;

删除模式

要删除一个模式,可以使用以下 SQL 命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

DROP SCHEMA schema_name;

其中,schema_name 是要删除的模式名称。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

举例:删除模式 sales_schema文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

DROP SCHEMA sales_schema;

5.表管理

创建表

要创建一个新的表,可以使用以下 SQL 命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

CREATE TABLE table_name (
  column1 datatype1,
  column2 datatype2,
  ...
);

其中,table_name 是你想创建的表名称,column1column2, ... 是表的列名和数据类型。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

举例:创建一个用于存储商品销售情况的表 sales_table文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

CREATE TABLE sales_table (
  id SERIAL PRIMARY KEY,
  product_name VARCHAR(100),
  quantity INTEGER,
  price NUMERIC(10, 2)
);

删除表

要删除一个表,可以使用以下 SQL 命令:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

DROP TABLE table_name;

其中,table_name 是要删除的表名称。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

举例:删除表 sales_table文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html

DROP TABLE sales_table;
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/51254.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/51254.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定