PostgreSQL DBA(96) - System Conf(client_min_messages)
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,PostgreSQL提供了参数client_min_messages用以控制返回给客户的消息级别,不同的级别返回的消息大小不同,默认为NOTICE。在通常情况下,如果客户端执行的SQL语句不频繁的话,
千家信息网最后更新 2026年11月01日PostgreSQL DBA(96) - System Conf(client_min_messages)
PostgreSQL提供了参数client_min_messages用以控制返回给客户的消息级别,不同的级别返回的消息大小不同,默认为NOTICE。在通常情况下,如果客户端执行的SQL语句不频繁的话,使用默认参数即可,但如果客户端执行大量的SQL,设置该参数为较高级别就显得有意义了:可以减少消息的大小从而降低网络负载,提升吞吐。
参数简介
下面创建一个存储过程,raise notice显示通知信息
[local]:5432 pg12@testdb=# CREATE OR REPLACE FUNCTION foo() RETURNS void ASpg12@testdb-# $$pg12@testdb$# BEGINpg12@testdb$# RAISE NOTICE 'some message';pg12@testdb$# RETURN;pg12@testdb$# END;pg12@testdb$# $$ LANGUAGE 'plpgsql';CREATE FUNCTIONTime: 389.227 ms[local]:5432 pg12@testdb=#执行存储过程
[local]:5432 pg12@testdb=# show client_min_messages; client_min_messages --------------------- notice(1 row)Time: 0.589 ms[local]:5432 pg12@testdb=# select foo();NOTICE: some message foo -----(1 row)Time: 26.838 ms[local]:5432 pg12@testdb=# set client_min_messages='ERROR';SETTime: 0.361 ms[local]:5432 pg12@testdb=# select foo(); foo -----(1 row)Time: 1.638 ms[local]:5432 pg12@testdb=#在client_min_messages设置为ERROR后,不再显示NOTICE通知信息。
下面使用benchmarksql压测工具测试该参数从NOTICE修改为ERROR后的性能变化。
1.NOTICE
[xdb@localhost run]$ ./runBenchmark.sh props.pg2019-09-25 12:15:25,434 INFO - Term-00, 2019-09-25 12:15:25,435 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:15:25,435 INFO - Term-00, BenchmarkSQL v4.1.12019-09-25 12:15:25,435 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:15:25,435 INFO - Term-00, (c) 2003, Raul Barbosa2019-09-25 12:15:25,435 INFO - Term-00, (c) 2004-2016, Denis Lussier2019-09-25 12:15:25,435 INFO - Term-00, (c) 2016, Jan Wieck2019-09-25 12:15:25,435 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:15:25,435 INFO - Term-00, 2019-09-25 12:15:25,435 INFO - Term-00, driver=org.postgresql.Driver2019-09-25 12:15:25,435 INFO - Term-00, conn=jdbc:postgresql://192.168.26.28:5432/benchmarkdb2019-09-25 12:15:25,435 INFO - Term-00, user=pg122019-09-25 12:15:25,435 INFO - Term-00, 2019-09-25 12:15:25,435 INFO - Term-00, warehouses=322019-09-25 12:15:25,435 INFO - Term-00, terminals=202019-09-25 12:15:25,435 INFO - Term-00, runMins=52019-09-25 12:15:25,435 INFO - Term-00, limitTxnsPerMin=02019-09-25 12:15:25,435 INFO - Term-00, 2019-09-25 12:15:25,435 INFO - Term-00, newOrderWeight=452019-09-25 12:15:25,435 INFO - Term-00, paymentWeight=432019-09-25 12:15:25,435 INFO - Term-00, orderStatusWeight=4 Term-00, Running Average 2019-09-25 12:20:25,706 INFO - Term-00, 52216 Memory Usage: 26MB / 37MB 2019-09-25 12:20:25,706 INFO - Term-00, 2019-09-25 12:20:25,707 INFO - Term-00, Measured tpmC (NewOrders) = 7448.89 2019-09-25 12:20:25,707 INFO - Term-00, Measured tpmTOTAL = 16626.58 2019-09-25 12:20:25,707 INFO - Term-00, Session Start = 2019-09-25 12:15:252019-09-25 12:20:25,707 INFO - Term-00, Session End = 2019-09-25 12:20:252019-09-25 12:20:25,707 INFO - Term-00, Transaction Count = 83171[xdb@localhost run]$ [xdb@localhost run]$2.ERROR
[xdb@localhost run]$ ./runBenchmark.sh props.pg2019-09-25 12:22:57,954 INFO - Term-00, 2019-09-25 12:22:57,954 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:22:57,954 INFO - Term-00, BenchmarkSQL v4.1.12019-09-25 12:22:57,954 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:22:57,954 INFO - Term-00, (c) 2003, Raul Barbosa2019-09-25 12:22:57,955 INFO - Term-00, (c) 2004-2016, Denis Lussier2019-09-25 12:22:57,955 INFO - Term-00, (c) 2016, Jan Wieck2019-09-25 12:22:57,955 INFO - Term-00, +-------------------------------------------------------------+2019-09-25 12:22:57,955 INFO - Term-00, 2019-09-25 12:22:57,955 INFO - Term-00, driver=org.postgresql.Driver2019-09-25 12:22:57,955 INFO - Term-00, conn=jdbc:postgresql://192.168.26.28:5432/benchmarkdb2019-09-25 12:22:57,955 INFO - Term-00, user=pg122019-09-25 12:22:57,955 INFO - Term-00, 2019-09-25 12:22:57,955 INFO - Term-00, warehouses=322019-09-25 12:22:57,955 INFO - Term-00, terminals=202019-09-25 12:22:57,955 INFO - Term-00, runMins=52019-09-25 12:22:57,955 INFO - Term-00, limitTxnsPerMin=02019-09-25 12:22:57,955 INFO - Term-00, 2019-09-25 12:22:57,955 INFO - Term-00, newOrderWeight=452019-09-25 12:22:57,955 INFO - Term-00, paymentWeight=432019-09-25 12:22:57,955 INFO - Term-00, orderStatusWeight=4 Term-00, Running Average 2019-09-25 12:27:58,267 INFO - Term-00, 79156 Memory Usage: 18MB / 37MB 2019-09-25 12:27:58,267 INFO - Term-00, 2019-09-25 12:27:58,267 INFO - Term-00, Measured tpmC (NewOrders) = 7815.72 2019-09-25 12:27:58,267 INFO - Term-00, Measured tpmTOTAL = 17440.12 2019-09-25 12:27:58,267 INFO - Term-00, Session Start = 2019-09-25 12:22:582019-09-25 12:27:58,267 INFO - Term-00, Session End = 2019-09-25 12:27:582019-09-25 12:27:58,268 INFO - Term-00, Transaction Count = 87254[xdb@localhost run]$TPMC 7815 vs 7448,提升比例为4.9%
为免系统随机扰动导致的误差,重新测试了一遍
-- NONE2019-09-25 14:53:05,384 INFO - Term-00, Measured tpmC (NewOrders) = 7168.43 2019-09-25 14:53:05,384 INFO - Term-00, Measured tpmTOTAL = 15890.5 2019-09-25 14:53:05,384 INFO - Term-00, Session Start = 2019-09-25 14:48:052019-09-25 14:53:05,385 INFO - Term-00, Session End = 2019-09-25 14:53:052019-09-25 14:53:05,385 INFO - Term-00, Transaction Count = 79491[xdb@localhost run]$ -- vacuum full;-- client_min_messages=error2019-09-25 14:44:29,101 INFO - Term-00, Measured tpmC (NewOrders) = 7239.02 2019-09-25 14:44:29,101 INFO - Term-00, Measured tpmTOTAL = 16079.06 2019-09-25 14:44:29,101 INFO - Term-00, Session Start = 2019-09-25 14:39:282019-09-25 14:44:29,102 INFO - Term-00, Session End = 2019-09-25 14:44:292019-09-25 14:44:29,102 INFO - Term-00, Transaction Count = 80434-- vacuum full;-- update_process_title=off-- track_activities=off2019-09-25 15:01:11,861 INFO - Term-00, Measured tpmC (NewOrders) = 7253.43 2019-09-25 15:01:11,861 INFO - Term-00, Measured tpmTOTAL = 16111.73 2019-09-25 15:01:11,862 INFO - Term-00, Session Start = 2019-09-25 14:56:112019-09-25 15:01:11,862 INFO - Term-00, Session End = 2019-09-25 15:01:112019-09-25 15:01:11,862 INFO - Term-00, Transaction Count = 80584-- vacuum full;-- client_min_messages=error-- update_process_title=off-- track_activities=off2019-09-25 15:08:46,923 INFO - Term-00, Measured tpmC (NewOrders) = 7194.55 2019-09-25 15:08:46,923 INFO - Term-00, Measured tpmTOTAL = 16059.38 2019-09-25 15:08:46,923 INFO - Term-00, Session Start = 2019-09-25 15:03:462019-09-25 15:08:46,923 INFO - Term-00, Session End = 2019-09-25 15:08:462019-09-25 15:08:46,923 INFO - Term-00, Transaction Count = 80350似乎没有什么效果。
参考资料
Reducing log messages on the client
参数
客户
消息
不同
信息
大小
客户端
级别
过程
存储
测试
频繁
参考资料
工具
性能
情况
效果
比例
用以
简介
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技战争
易互联网科技有限公司
互联网科技英文
上海喔噻互联网科技
润盈互联网科技
重庆科技学院互联网
深圳市运趣互联网科技有限公司
天速互联网络科技有限公司
移动互联网科技股
互联网企业和科技型企业
互联网校园科技培训
千方科技属于互联网企业吗
注册互联网科技公司经营范围大全
速维有品互联网信息科技(苏州)有限公司
南博望互联网科技有限公司
烟台灵鸽互联网科技有限公司
互联网科技资金流入
济南小医互联网科技有限公司招聘
互联网领先科技成果宣传视频
宁波允成互联网科技有限公司
新华互联网科技学校
互联网属科技
科技与互联网
互联网扶贫科技
互联网巨头科技公司
广州互联网科技公司
朗涯互联网科技
陕西云淼互联网科技公司
互联网科技接地气
盐城市攀科互联网科技有限公司