postgresql常见操作命令

postgresql常见操作命令

1、查询数据库服务:一般pg数据库是安装在非root用户下,所以数据库启停操作一般是在安装用户postgres下执行

ps aux | grep postgres

2、启停实例:pg_ctl 是管理PostgreSQL服务的核心命令行工具,使用时通常需要指定数据目录 (-D)。

启动实例: pg_ctl start -D /path/to/data_directory -l logfile; -l 参数用于指定日志文件。

停止实例: pg_ctl stop -D /path/to/data_directory -m fast; -m 指定关闭模式:smart(等待连接结束), fast(快速回滚并断开, 默认), immediate(立即中止,将导致恢复)。

重启实例: pg_ctl restart -D /path/to/data_directory; 等于先执行stop再执行start,会复用之前的启动参数。

重载配置: pg_ctl reload -D /path/to/data_directory; 发送SIGHUP信号,使配置文件更改无需重启即可生效。

查看状态: pg_ctl status -D /path/to/data_directory; 检查实例是否运行,并显示PID和启动命令。

3、登录数据库 (psql)

psql 是PostgreSQL的交互式终端,常用的登录方式如下:

1> 使用默认用户(postgres)登录默认数据库

su -u postgres

2> 指定用户(-U)和数据库(-d)登录

psql -U username -d dbname -h host -p port

成功登录后,会出现 postgres=# 这样的提示符。

4、创建数据库与表

1、创建数据库

CREATE DATABASE mydb;

2、连接到新数据库(后续操作需要先连接)

\c mydb;

3、创建表

CREATE TABLE employees (

id INT PRIMARY KEY,

name TEXT NOT NULL,

salary DECIMAL

);

4、插入数据

插入单行数据

INSERT INTO employees (id, name, salary) VALUES (1, '张三', 50000.00);

批量插入多行数据

INSERT INTO employees (id, name, salary) VALUES

(2, '李四', 60000.00),

(3, '王五', 55000.00);

5、常用 psql 元命令速查

在 psql 交互界面中,这些反斜杠命令非常方便:

\l 列出所有数据库

\c dbname 连接到指定的数据库

\d 列出当前数据库中所有表

\d tablename 查看指定表的结构

\du 列出所有数据库用户

\q 退出 psql

如果某个命令执行时提示权限不足,通常需要使用有足够权限的数据库用户(如 postgres)重新连接后再试。