当前位置: 首页 > article >正文

PostgreSQL 17安装后必做的5件事:从安全加固到性能调优(附pg_hba.conf配置详解)

PostgreSQL 17安装后必做的5件事从安全加固到性能调优刚完成PostgreSQL 17的安装只是数据库旅程的第一步。要让这个强大的关系型数据库真正发挥生产级效能还需要一系列精细化的配置。本文将带你完成五个关键步骤从安全策略到性能参数让你的PostgreSQL实例既安全又高效。1. 重构认证策略深入理解pg_hba.conf安装后的首要任务是关闭危险的默认配置。PostgreSQL默认的pg_hba.conf文件可能包含trust认证方法这相当于给所有连接开了绿灯——不需要任何密码就能访问数据库。我们先来看看如何重构这个关键文件# 定位配置文件路径根据你的安装目录调整 vim /opt/postgresql/data/pg_hba.conf认证方法对比表方法安全性适用场景备注trust最低仅限本地可信环境新安装默认配置应立即修改md5中等内部网络基于MD5哈希已不推荐用于新系统scram-sha-256高生产环境首选PostgreSQL 10默认推荐peer高仅限Linux本地连接使用操作系统用户认证建议将默认的trust改为scram-sha-256这是目前最安全的认证方式。修改后的典型配置应该类似# TYPE DATABASE USER ADDRESS METHOD host all all 127.0.0.1/32 scram-sha-256 host all all ::1/128 scram-sha-256 host all all 192.168.1.0/24 scram-sha-256修改后需要重新加载配置pg_ctl reload注意不要在生产环境中使用0.0.0.0/0这样的宽泛地址范围应该精确指定允许连接的IP段。2. 创建专属应用用户和数据库永远不要使用默认的postgres超级用户来运行应用。正确的做法是为每个应用创建专属用户和数据库-- 创建应用专用用户 CREATE ROLE app_user WITH LOGIN PASSWORD complex_password_here NOSUPERUSER; -- 创建应用数据库并指定所有者 CREATE DATABASE app_db WITH OWNER app_user ENCODING UTF8; -- 为新用户设置连接限制按需调整 ALTER ROLE app_user CONNECTION LIMIT 50;最佳实践还包括为每个微服务创建单独的用户和schema使用REVOKE ALL ON DATABASE...然后精确GRANT所需权限考虑使用SET ROLE进行权限继承管理3. 性能调优关键参数配置打开postgresql.conf以下几个参数对性能影响最大vim /opt/postgresql/data/postgresql.conf内存相关参数# 通常设为系统内存的25% shared_buffers 4GB # 每个查询操作可用的内存复杂查询多时可适当增加 work_mem 16MB # 维护操作如VACUUM使用的内存 maintenance_work_mem 512MB并行查询配置max_worker_processes 8 max_parallel_workers_per_gather 4 max_parallel_workers 8WAL日志配置影响写入性能wal_level replica synchronous_commit on full_page_writes on wal_buffers 16MB修改后需要重启服务pg_ctl restart提示使用EXPLAIN ANALYZE测试查询性能变化逐步调整参数找到最佳配置。4. 日志配置与归档合理的日志配置是排查问题的关键。在postgresql.conf中添加log_destination csvlog logging_collector on log_directory /opt/postgresql/log log_filename postgresql-%Y-%m-%d.log log_rotation_age 1d log_rotation_size 100MB log_min_duration_statement 1000 # 记录执行超过1秒的查询对于生产环境还应该设置日志轮转# 创建日志轮转配置 vim /etc/logrotate.d/postgresql # 内容示例 /opt/postgresql/log/*.log { daily missingok rotate 30 compress delaycompress notifempty sharedscripts postrotate /usr/bin/pg_ctl rotate_logs -D /opt/postgresql/data /dev/null endscript }5. 网络层安全加固即使配置了pg_hba.conf系统层面的防火墙也不可忽视# 查看当前规则 iptables -L # 只允许特定IP访问5432端口 iptables -A INPUT -p tcp --dport 5432 -s 192.168.1.0/24 -j ACCEPT iptables -A INPUT -p tcp --dport 5432 -j DROP # 保存规则根据系统不同 service iptables save对于云环境还需要检查安全组规则确保只有必要的入口被开放。进阶配置监控与维护除了上述五项基本配置生产环境还应该考虑-- 安装pg_stat_statements扩展 CREATE EXTENSION pg_stat_statements; -- 配置自动清理 ALTER SYSTEM SET autovacuum on; ALTER SYSTEM SET autovacuum_analyze_threshold 50; ALTER SYSTEM SET autovacuum_vacuum_threshold 50;定期维护脚本示例#!/bin/bash # 每日维护任务 vacuumdb -U postgres --all --analyze psql -U postgres -c SELECT pg_rotate_logfile();在实际项目中我发现pg_stat_statements对于识别性能瓶颈特别有用它能记录所有SQL语句的执行统计信息。配合EXPLAIN ANALYZE使用可以精准定位需要优化的查询。

相关文章:

PostgreSQL 17安装后必做的5件事:从安全加固到性能调优(附pg_hba.conf配置详解)

PostgreSQL 17安装后必做的5件事:从安全加固到性能调优 刚完成PostgreSQL 17的安装只是数据库旅程的第一步。要让这个强大的关系型数据库真正发挥生产级效能,还需要一系列精细化的配置。本文将带你完成五个关键步骤,从安全策略到性能参数&…...

Qwen2.5-VL-7B-Instruct-GPTQ入门指南:用vLLM+Chainlit轻松玩转多模态AI

Qwen2.5-VL-7B-Instruct-GPTQ入门指南:用vLLMChainlit轻松玩转多模态AI 1. 快速了解Qwen2.5-VL-7B-Instruct-GPTQ Qwen2.5-VL-7B-Instruct-GPTQ是一款基于Qwen2.5-VL-7B-Instruct模型的4bit量化版本,专门用于图文对话任务。这个模型通过AngelSlim技术进…...

OpenClaw人人养虾:macOS 开发环境设置

本指南介绍从源代码构建和运行 OpenClaw macOS 应用所需的步骤。 前置条件 在构建应用之前,请确保已安装以下工具: Xcode 26.2:Swift 开发所需。Node.js 22 和 pnpm:gateway、CLI 和打包脚本所需。 1. 安装依赖 安装项目级依…...

Asian Beauty Z-Image Turbo效果展示:对比普通Z-Image的东方特征增强效果

Asian Beauty Z-Image Turbo效果展示:对比普通Z-Image的东方特征增强效果 在AI图像生成领域,我们经常遇到一个问题:通用模型生成的东方人像往往缺乏那种独特的东方美学特征,要么过于西方化,要么缺乏真实感。Asian Bea…...

发票识别小助手:用OCR文字识别镜像自动读取发票信息

发票识别小助手:用OCR文字识别镜像自动读取发票信息 1. 项目背景与价值 在日常财务工作中,发票信息录入是一项耗时且容易出错的任务。传统的人工录入方式不仅效率低下,还容易因疲劳导致数据错误。OCR(光学字符识别)技…...

SMS-Activate接码避坑指南:为什么你总收不到验证码?网络、号码选择与退款机制详解

SMS-Activate接码实战优化:从网络配置到号码选择的深度避坑手册 每次点击"获取验证码"按钮后的漫长等待,就像一场数字时代的赌博——你永远不知道这次是顺利通关还是再次掉进验证码黑洞。作为全球开发者、跨境电商从业者和隐私需求者的"数…...

本地化图片翻译开源工具:漫画翻译与OCR识别的本地化部署方案

本地化图片翻译开源工具:漫画翻译与OCR识别的本地化部署方案 【免费下载链接】manga-image-translator Translate manga/image 一键翻译各类图片内文字 https://cotrans.touhou.ai/ (no longer working) 项目地址: https://gitcode.com/gh_mirrors/ma/manga-image…...

突破单机限制:Nucleus Co-Op如何让4人同屏游戏从梦想照进现实?

突破单机限制:Nucleus Co-Op如何让4人同屏游戏从梦想照进现实? 【免费下载链接】nucleuscoop Starts multiple instances of a game for split-screen multiplayer gaming! 项目地址: https://gitcode.com/gh_mirrors/nu/nucleuscoop 你是否遇到过…...

PCB圆弧拐角和45度拐角走线实操

目录 0 前言 1 PCB圆弧拐角实操 1.2参数设置,如上图所示 1.3筛选导线,如上图所示 1.4选中所有走线,如上图所示(按shift键框选) 1.5 45拐角变为圆弧拐角,如上图所示 1.6 优化前后对比图,如上图所示 2 PCB 45度拐角走线实操 2.1 进入设置,如上图所示 2.2 参数设…...

深度学习图像分割技术原理与应用实践

深度学习图像分割技术原理与应用实践 【免费下载链接】unet unet for image segmentation 项目地址: https://gitcode.com/gh_mirrors/un/unet 概念解析:如何理解图像分割的核心价值? 图像分割是计算机视觉领域的关键技术,它通过将图…...

SEO_从零开始构建可持续流量的SEO体系

SEO:从零开始构建可持续流量的SEO体系 在互联网时代,拥有一个高流量的网站已经不再是小事。对于初学者来说,从零开始构建一个可持续的SEO体系,听起来可能有些令人望而生畏。通过一些基本策略和长期的努力,任何人都可以实现这一目…...

【AHC】async-http-client 的请求队列是在哪里维护的?排队机制如何工作?

async-http-client 的请求队列是在哪里维护的?排队机制如何工作? 作者:九师兄 发布时间:2026年02月05日 问题引入:Flink 作业因“隐形队列”堆积导致 OOM 某日,我们负责的 实时埋点日志上报系统(基于 Flink 1.17 + async-http-client 3.0.5)突然出现 容器内存溢出(O…...

VMware macOS虚拟机解锁方案:开源工具Unlocker完整实践指南

VMware macOS虚拟机解锁方案:开源工具Unlocker完整实践指南 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 你是否想在Windows或Linux系统上运行macOS虚拟机,却苦于VMware不支持…...

狩猎之眼:用数据透视你的怪物猎人世界

狩猎之眼:用数据透视你的怪物猎人世界 【免费下载链接】HunterPie-legacy A complete, modern and clean overlay with Discord Rich Presence integration for Monster Hunter: World. 项目地址: https://gitcode.com/gh_mirrors/hu/HunterPie-legacy 当你面…...

告别 python-docx:用纯 Python 标准库实现的一个 Word 转 Markdown 的工具-超好用(附源码)

前言 在日常工作中,我们经常需要将 Word 文档转成 Markdown——比如把技术文档发布到博客,或者把论文转成纯文本方便版本管理。市面上现有的方案通常依赖 python-docx、pandoc 或 mammoth 等第三方库,要么安装链条长,要么转换结果…...

零基础入门CGCNN:3步用AI预测材料属性的神奇工具

零基础入门CGCNN:3步用AI预测材料属性的神奇工具 【免费下载链接】cgcnn Crystal graph convolutional neural networks for predicting material properties. 项目地址: https://gitcode.com/gh_mirrors/cg/cgcnn 想用人工智能预测新材料性能却不知从何入手…...

两步修复Win11下conda无法激活问题

Anaconda安装在了D盘,也添加了环境变量,但虚拟环境一直无法激活1.执行策略设置为 RemoteSigned以管理员身份打开WindowsPowershell,然后输入如下代码将当前用户的执行策略设置为 RemoteSigned。Set-ExecutionPolicy -Scope CurrentUser Remot…...

OpenClaw成本警报:gemma-3-12b-it的Token消耗监控与限额设置

OpenClaw成本警报:gemma-3-12b-it的Token消耗监控与限额设置 1. 为什么需要关注Token消耗? 上周我的OpenClaw自动化流程突然中断,检查日志发现是gemma-3-12b-it模型的API调用达到了限额。更让我后怕的是,如果这个限额不存在&…...

Agent和LLM的区别详解

Agent(智能代理),也叫智能体,是一种能够感知环境、制定决策且自主执行行动的智能系统。核心逻辑在于让LLM根据动态变化的环境信息,选择执行具体的行动,并反过来影响环境,多轮迭代重复执行上述步…...

Gemma-3-12B-IT WebUI性能实测:不同问题类型的响应时间对比

Gemma-3-12B-IT WebUI性能实测:不同问题类型的响应时间对比 1. 测试背景与目标 1.1 为什么关注响应时间? 在实际使用大语言模型WebUI时,响应时间是最直接影响用户体验的指标之一。想象一下,当你向AI助手提出问题时,…...

SenseVoice-small轻量优势:模型加载时间<2秒,首字响应<800ms

SenseVoice-small轻量优势:模型加载时间<2秒,首字响应<800ms 1. 引言:当语音识别遇上“秒开”体验 想象一下这个场景:你正在一个网络信号极差的山区,或者在一台没有独立显卡的旧电脑上&#x…...

猫抓浏览器扩展:从零开始的网页资源嗅探完全指南

猫抓浏览器扩展:从零开始的网页资源嗅探完全指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为网页上的精彩视频无法保存而烦恼…...

解锁高效操作:5款菜单栏管理工具的深度评测与场景适配指南

解锁高效操作:5款菜单栏管理工具的深度评测与场景适配指南 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice macOS菜单栏作为系统交互的核心界面,随着应用增多常陷入混乱&#…...

山外有山,心内有归途:一个技术人的哲思

“无论技术多么先进,总会出现更先进的技术。就像武侠小说中常说的山外有山人外有人。” “所以,佛教大家回归本性、初心、真如、自性……” 前几天,我在一个深夜刷着技术社区,看着层出不穷的新框架、新模型、新范式,忽…...

开源工具猫抓:破解资源嗅探难题的全面指南

开源工具猫抓:破解资源嗅探难题的全面指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 为什么90%的用户都无法充分发挥浏览器资源嗅…...

DeepLabV3语义分割环境配置、DeepLabV3语义分割模型代跑训练、DeepLabV3语义分割模型改进创新DeepLabV3语义分割环境配置:Windows、Ubuntu、Centos、

DeepLabV3语义分割环境配置、 DeepLabV3语义分割模型代跑训练、 DeepLabV3语义分割模型改进创新 DeepLabV3语义分割环境配置:Windows、Ubuntu、Centos、Macos等系统环境,如果电脑拥有显卡,可配置GPU版本的DeepLabV3语义分割环境。 DeepLabV3语…...

番茄小说下载器:全能解析引擎驱动的一站式数字阅读解决方案

番茄小说下载器:全能解析引擎驱动的一站式数字阅读解决方案 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 在数字阅读日益普及的今天,读者们常面临三大…...

httpspider全局抓包,直接抓取下载模拟器 手机 平板 电视中的数据(视频 音乐 直播

httpspider可以抓取所有经过电脑的所有http和https数据,比如 抓取安卓模拟器,其他电脑软件,而且还可以直接抓取手机中的流量。先看效果图抓模拟器:抓手机:分享了「httpspider.exe」 链接:https://pan.quark…...

避开地图偏移的坑:GCJ02/WGS84/BD09坐标系转换原理与最佳实践

多地图平台开发中的坐标系转换实战指南 当你在地图上看到一个标注点时,是否想过这个位置背后可能经历了多次数学变换?不同地图服务商使用着各自的坐标系标准,而开发者需要在这些差异中搭建桥梁。本文将深入解析主流坐标系特性,并提…...

ZoteroDuplicatesMerger:文献库智能去重解决方案的技术深度解析

ZoteroDuplicatesMerger:文献库智能去重解决方案的技术深度解析 【免费下载链接】ZoteroDuplicatesMerger A zotero plugin to automatically merge duplicate items 项目地址: https://gitcode.com/gh_mirrors/zo/ZoteroDuplicatesMerger 文献管理工具Zoter…...