pg日常维护

一、PG 基础登录与常用命令

PG 默认使用postgres系统用户登录,进入 psql 交互终端后,可通过反斜杠快捷命令高效管理数据库。

已生成代码

核心快捷命令

  • \l:列出所有数据库
  • \c 库名:切换数据库
  • \dt:查看当前库的表
  • \dn:查看所有模式(Schema)
  • \du:查看所有用户
  • \d 表名:查看表结构
  • \q:退出 psql

二、数据库与表基础操作

1. 数据库操作

已生成代码

2. 数据表操作

已生成代码

3. 数据增删改查

已生成代码


三、模式(Schema)管理

Schema 是 PG 的逻辑分组,类似文件夹,用于隔离对象、避免命名冲突。

已生成代码


四、备份与恢复(生产常用)

PG 提供三种备份方式,SQL 转储最通用、跨版本兼容。

1. 单库备份(pg_dump)

已生成代码

2. 单库恢复

已生成代码

3. 全实例备份(pg_dumpall)

已生成代码


五、远程连接配置

默认 PG 只允许本地访问,需修改两处配置开放远程。

1. 修改监听地址

编辑postgresql.conf

已生成代码

2. 配置访问权限

编辑pg_hba.conf,允许任意 IP 访问:

已生成代码

3. 重启生效

已生成代码


六、密码重置(忘记密码)

  1. 备份pg_hba.conf
  2. 临时将本地认证改为trust
  3. 重启服务,无密码登录
  4. 修改密码:

已生成代码

  1. 恢复配置并重启

总结

本文覆盖 PG 日常运维高频操作:基础命令、库表管理、Schema 隔离、备份恢复、远程配置、密码重置。内容简洁实用,适合 DBA 与开发快速查阅。

提示:生产环境建议使用scram-sha-256认证,避免trust带来安全风险。

❤️ 原创不易,觉得有用欢迎点赞 + 收藏 + 关注,后续持续更新 PG 进阶运维内容。"""

输出最终博文

print(blog)

PostgreSQL 日常维护速查手册|基础操作 + 备份恢复 + 远程连接

发布时间: 2026-04-09 15:30:00标签: PostgreSQL、PG 数据库、数据库运维、备份恢复、远程连接


一、PG 基础登录与常用命令

PostgreSQL 默认使用postgres系统用户登录,进入 psql 交互终端后,可通过反斜杠快捷命令高效完成数据库管理操作。

bash

运行

复制代码
# 切换postgres用户并登录数据库
su - postgres
psql

核心快捷命令

  • \l:列出所有数据库
  • \c 库名:切换目标数据库
  • \dt:查看当前库下所有表
  • \dn:查看所有模式(Schema)
  • \du:查看所有数据库用户
  • \d 表名:查看表结构详情
  • \q:退出 psql 终端

二、数据库与表基础操作

1. 数据库操作

sql

复制代码
-- 创建数据库
CREATE DATABASE mydb;
-- 删除数据库
DROP DATABASE mydb;
-- 查看数据库大小(友好格式)
SELECT pg_size_pretty(pg_database_size('mydb'));

2. 数据表操作

sql

复制代码
-- 创建普通表
CREATE TABLE test(id INT, name VARCHAR(10), age INT);
-- 复制表(包含结构与数据)
CREATE TABLE test2 AS TABLE test;
-- 删除表
DROP TABLE test2;

3. 数据增删改查

sql

复制代码
-- 插入数据
INSERT INTO test VALUES(1,'zhangsan',18);
-- 查询数据
SELECT * FROM test;
-- 更新数据
UPDATE test SET age=20 WHERE id=1;
-- 删除数据
DELETE FROM test WHERE id=1;

三、模式(Schema)管理

Schema 是 PostgreSQL 特有的逻辑分组容器,作用类似系统文件夹,可实现对象隔离、避免命名冲突,是多业务场景必备能力。

sql

复制代码
-- 创建模式
CREATE SCHEMA hr;
-- 在指定模式下创建表
CREATE TABLE hr.employees(id SERIAL PRIMARY KEY, name TEXT);
-- 设置模式搜索优先级
SET search_path TO hr, public;
-- 查看当前默认模式
SELECT current_schema();

四、备份与恢复(生产环境推荐)

PostgreSQL 提供三种备份方案,SQL 转储具备跨版本、跨架构兼容优势,是日常备份首选。

1. 单库备份(pg_dump)

bash

运行

复制代码
pg_dump mydb > mydb_backup.sql

2. 单库恢复

bash

运行

复制代码
# 提前创建空库
createdb -T template0 mydb
# 执行恢复
psql mydb < mydb_backup.sql

3. 全实例备份(pg_dumpall)

bash

运行

复制代码
# 备份所有库、角色、表空间
pg_dumpall > all_backup.sql
# 全实例恢复
psql -f all_backup.sql postgres

五、远程连接配置

PostgreSQL 默认仅允许本地连接,需修改两项核心配置实现远程访问。

1. 修改监听地址

编辑postgresql.conf,开启全网段监听:

ini

复制代码
listen_addresses = '*'

2. 配置 IP 访问权限

编辑pg_hba.conf,添加远程访问规则:

ini

复制代码
host all all 0.0.0.0/0 scram-sha-256

3. 重启服务生效

bash

运行

复制代码
systemctl restart postgresql

六、密码重置(忘记密码处理)

  1. 备份pg_hba.conf配置文件
  2. 临时将本地认证方式改为trust
  3. 重启数据库,无密码登录
  4. 执行密码修改语句:

sql

复制代码
ALTER USER postgres WITH PASSWORD '新密码';
  1. 恢复原配置文件,重启服务
相关推荐
2603_965148115 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
ltl5 小时前
RocksDB 经典故障排查:L0、compaction 与 write stall
数据库
xfhuangfu6 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT6 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData6 小时前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean7 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean7 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定
浪子明X8 小时前
从 MongoDB 文档到关系模型:构建可重跑、可对账的数据迁移流水线
数据库·mongodb·oracle
杜子不疼.8 小时前
国产数据库撑起固井软件自主化:金仓 × 中海油服「海恒 Cemsol」落地解析
数据库
隔窗听雨眠8 小时前
GBase 8s并发控制深度解析:封锁机制、隔离级别与死锁处理全攻略
服务器·数据库·oracle