如果不常使用PostgreSQL,基本命令可能会忘记。为此,我整理了在PostgreSQL设置和管理中常用的主要命令。希望这个指南能在您再次使用PostgreSQL时,作为一个快速参考的有用资料。


1. 连接PostgreSQL

要使用PostgreSQL的命令,首先需要连接到数据库。以基本管理账户postgres用户连接的方法如下:

sudo -u postgres psql

输入此命令进入PostgreSQL终端,可以执行各种SQL命令。


2. 创建数据库

当想要创建新的数据库时,使用以下命令:

CREATE DATABASE database_name;

其中database_name要替换为所要创建的数据库名称。


3. 创建用户

在PostgreSQL中,可以为每个用户赋予独立的权限。创建新用户并设置密码的方法如下:

CREATE USER user_name WITH PASSWORD 'password';

这里的user_name'password'要替换为所需的用户名和密码。


4. 授予数据库用户权限

要将对数据库的访问权限授予特定用户,可以使用以下命令。

GRANT ALL PRIVILEGES ON DATABASE database_name TO user_name;

如果只想授予特定权限,可以用SELECTINSERTUPDATE等替代ALL PRIVILEGES


5. 查看数据库列表

要查看服务器上存在的所有数据库,请使用以下命令:

\l

此命令在PostgreSQL终端中使用,输出当前服务器的数据库列表。


6. 查看用户列表

要查看在PostgreSQL中创建的所有用户,请使用以下命令:

\du

7. 连接特定数据库

当想要切换到其他数据库时,请使用以下命令连接:

\c database_name

database_name替换为要连接的数据库名称。


8. 查看表列表

要查看当前连接的数据库中的所有表,请使用以下命令:

\dt

该命令可快速查看当前数据库的表列表。


9. 删除数据库

要删除不再需要的数据库,请使用以下命令:

DROP DATABASE database_name;

注意:此命令会永久删除数据库及其所有数据,因此请谨慎使用。


10. 删除用户

要删除不再需要的用户,请输入如下命令:

DROP USER user_name;

11. 授予特定表的权限

要向用户授予特定表的权限,可以使用以下命令。

GRANT SELECT, INSERT, UPDATE, DELETE ON table_name TO user_name;

这里的table_name是要授予权限的表名称。


12. 授予超级用户权限

如果想要给予特定用户超级用户权限,请使用以下命令:

ALTER USER user_name WITH SUPERUSER;

通过此命令,您可以将其设置为拥有数据库全部权限的超级用户。


13. 修改用户密码

要更改现有用户的密码,请使用以下命令:

ALTER USER user_name WITH PASSWORD 'new_password';

14. 控制PostgreSQL服务

PostgreSQL服务可以在服务器上启动、停止和重启。以下命令在管理PostgreSQL服务时非常有用。

# 启动服务
sudo systemctl start postgresql

# 停止服务
sudo systemctl stop postgresql

# 重启服务
sudo systemctl restart postgresql

15. 数据库备份和恢复

备份或恢复数据库时,可以使用pg_dumppg_restore命令。

  • 备份:
    pg_dump -U user_name -W -F t database_name > backup_file.tar
  • 恢复:
    pg_restore -U user_name -W -d database_name backup_file.tar

通过备份文件,您可以轻松恢复数据库,以防万一。

PostgreSQL命令列表

只要记住这些命令,PostgreSQL的设置和管理将变得更加轻松。请随时参考此列表,快速完成工作。