postgresql常见操作命令
-
-
- 1、查询数据库服务:一般pg数据库是安装在非root用户下,所以数据库启停操作一般是在安装用户postgres下执行
- [2、启停实例:pg_ctl 是管理PostgreSQL服务的核心命令行工具,使用时通常需要指定数据目录 (-D)。](#2、启停实例:pg_ctl 是管理PostgreSQL服务的核心命令行工具,使用时通常需要指定数据目录 (-D)。)
- 3、登录数据库 (psql)
- 4、创建数据库与表
- [5、常用 psql 元命令速查](#5、常用 psql 元命令速查)
-
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)重新连接后再试。