1.超级用户 postgres
初始化
当你第一次安装 PostgreSQL 并初始化时,你可以按照以下步骤进行超级用户 postgres
的初始化设置:
修改postgres密码
(1). 打开终端,并以超级用户身份登录到系统。
(2). 使用以下命令切换到 postgres
用户:
sudo -u postgres -i
(3). 进入 PostgreSQL 的命令行界面 psql
:
psql
(4). 修改 postgres
用户的密码。你可以选择以下任一方式修改密码:
方式1:使用完整命令行
ALTER USER postgres WITH PASSWORD 'new_password';
方式2:使用 \password
命令
\password postgres
在命令提示符下,输入新密码并确认。
(5). 退出 psql
命令行界面。可以使用以下命令:
\q
修改postgres身份验证方式
(6). 修改 PostgreSQL 配置文件 postgresql.conf
,以允许 postgres
用户使用密码进行身份验证。找到以下行,并确保其未被注释(即没有以 #
开头):
#password_encryption = md5
如果该行被注释了,请取消注释并保存文件。
修改外部连接权限
(7). 修改 PostgreSQL 的 pg_hba.conf
文件,以允许任意 IP 地址连接并使用 md5
密码进行验证。找到以下行,并确保其未被注释:
# IPv4 local connections:
host all all 0.0.0.0/0 md5
如果该行被注释了,请取消注释并保存文件。
(8). 重新启动 PostgreSQL 服务,以使配置更改生效。可以使用以下命令:
sudo service postgresql restart
现在,你已经完成了超级用户 postgres
的初始化设置,并成功修改了密码、配置文件和访问权限。
2.用户管理
创建用户
创建一个新用户,可以使用以下 SQL 命令:
CREATE USER username WITH PASSWORD 'password';
其中,username
是你想创建的用户名,password
是该用户的密码。
举例:创建用户 sales_user
,密码为 123456
CREATE USER sales_user WITH PASSWORD '123456';
删除用户
要删除一个用户,可以使用以下 SQL 命令:
DROP USER username;
其中,username
是要删除的用户名。
举例:删除用户 sales_user
DROP USER sales_user;
3.数据库管理
创建数据库
要创建一个新的数据库,可以使用以下 SQL 命令:
CREATE DATABASE database_name;
其中,database_name
是你想创建的数据库名称。
举例:创建数据库 sales_db
CREATE DATABASE sales_db;
删除数据库
要删除一个数据库,可以使用以下 SQL 命令:
DROP DATABASE database_name;
其中,database_name
是要删除的数据库名称。
举例:删除数据库 sales_db
DROP DATABASE sales_db;
用户授权
要为用户授予特定的权限,可以使用以下 SQL 命令:
GRANT permission_name ON database_name TO username;
其中,permission_name
是要授予的权限名称,database_name
是要授权的数据库名称,username
是要授权的用户名。
举例:为用户 sales_user
授予对数据库 sales_db
的读取权限
GRANT SELECT ON sales_db TO sales_user;
4.模式管理
创建模式
要创建一个新的模式,可以使用以下 SQL 命令:
CREATE SCHEMA schema_name;
其中,schema_name
是你想创建的模式名称。
举例:创建模式 sales_schema
CREATE SCHEMA sales_schema;
删除模式
要删除一个模式,可以使用以下 SQL 命令:
DROP SCHEMA schema_name;
其中,schema_name
是要删除的模式名称。
举例:删除模式 sales_schema
DROP SCHEMA sales_schema;
5.表管理
创建表
要创建一个新的表,可以使用以下 SQL 命令:
CREATE TABLE table_name (
column1 datatype1,
column2 datatype2,
...
);
其中,table_name
是你想创建的表名称,column1
, column2
, ... 是表的列名和数据类型。
举例:创建一个用于存储商品销售情况的表 sales_table
CREATE TABLE sales_table (
id SERIAL PRIMARY KEY,
product_name VARCHAR(100),
quantity INTEGER,
price NUMERIC(10, 2)
);
删除表
要删除一个表,可以使用以下 SQL 命令:
DROP TABLE table_name;
其中,table_name
是要删除的表名称。
举例:删除表 sales_table
DROP TABLE sales_table;