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. 恢复原配置文件,重启服务
相关推荐
烬羽3 分钟前
给 Agent 一个检索式记忆:把对话历史存进 Milvus,该记的都记得
javascript·数据库·agent
星云API技术支持11 分钟前
企业微信二次开发外部群:群聊数据与联系人信息如何建立关联
数据库·php·企业微信
我不是程序员三三13 分钟前
桌面管理软件哪个最好?从一次上线翻车事故,拆解选型评估与配置落地全流程
数据库
落木萧萧82516 分钟前
MyBatis 关联查询的四种写法,为什么最后都变回了手写 XML
java·数据库·后端
春风解人意21 分钟前
从零开始学习嵌入式P35----数据库
数据库·嵌入式硬件·学习
sunoo-22923 分钟前
【网络编程 + 数据库】select 与 epoll 核心区别详解 + SQLite 入门到 C 接口全攻略
linux·网络·数据库·vscode·学习·sqlite
TDengine (老段)24 分钟前
TDengine 错误处理 — 错误码、异常传播、故障恢复
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
zbyyd27 分钟前
Linux 系统编程 :select/epoll 多路复用与 SQLite 数据库实战
linux·数据库·sqlite
俊昭喜喜里29 分钟前
c#中的构造函数
开发语言·数据库·c#
养生技术人39 分钟前
Oracle OCP认证考试题目详解082系列第17题
运维·数据库·sql·oracle·ocp