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. 恢复原配置文件,重启服务
相关推荐
chaofan98018 小时前
突破大模型落地瓶颈:Claude 4.7 与 GPT-5.5 长上下文工程实测
数据库·人工智能·python·gpt·自动化·php·api
2501_9012005318 小时前
PHP源码部署需要多大硬盘空间_PHP项目存储空间估算方法【方法】
jvm·数据库·python
小肝一下18 小时前
3. 数据类型
android·数据库·mysql·adb
2401_8323655218 小时前
mysql如何优化mysql在多核CPU下的性能_调整线程并发数
jvm·数据库·python
m0_7364393018 小时前
JavaScript中显式创建包装对象的后果与性能损耗
jvm·数据库·python
Mr_sst18 小时前
文件上传并发控制:为什么选Redisson可过期信号量?(避坑指南)
网络·数据库·redis·分布式·安全架构
四维迁跃18 小时前
JavaScript中Object-defineProperties批量设置属性
jvm·数据库·python
qq_2837200518 小时前
Python3 模块精讲:psycopg2(第三方)- 连接 PostgreSQL
数据库·postgresql
倚楼盼风雨19 小时前
Redis 为什么快
数据库·redis·缓存
2501_9012005319 小时前
CSS如何让响应式字体在断点处平滑切换_使用clamp函数计算
jvm·数据库·python