PostgreSQL-14 2021年9月被释放,它包含许多性能的改进和功能增强,包括一些功能从监督的角度来看。raybet雷竞技竞猜在线官网正如我们所知,监控是任何raybet雷竞技竞猜在线官网数据库管理系统的关键要素,和PostgreSQL不断更新和提高监测能力。这里有一些关键的PostgreSQL-14。
查询标识符
查询标识符是用来识别查询,可以扩展之间的交叉引用。PostgreSQL-14之前,一个算法来计算query_id扩展使用。通常,使用相同的算法计算query_id,但任何扩展都可以使用自己的算法。现在,PostgreSQL-14选择提供了query_id计算的核心。现在像pg_stat_activity raybet雷竞技竞猜在线官网PostgreSQL-14监测扩展和公用事业,解释,pg_stat_statments使用这个query_id代替自己计算。这query_id csvlog中可以看到,指定log_line_prefix。从用户的角度来看,有两个好处,这个特性。
- 所有实用程序/扩展将使用相同的query_id计算核心,这提供了一个缓解这个query_id交叉引用。以前,所需的所有工具/扩展使用相同的算法代码来实现这个功能。
- 第二个好处是扩展/实用程序可以使用计算query_id和不需要再一次,这是一个性能优势。
PostgreSQL引入了一个新的GUC compute_query_id配置参数启用/禁用这个特性。默认是汽车;这可以在postgresql开启/关闭。配置文件,或者使用SET命令。
- pg_stat_activity
设置compute_query_id =;
|
1
2
3
4
5
|
选择
datname
,
查询
,
query_id
从
pg_stat_activity
;
datname
|
查询
|
查询
_id
- - -
- - -
- - -
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - -
postgres
|
选择
datname
,
查询
,
query_id
从
pg_stat_activity
;
|
postgres
|
更新
pgbench_branches
集
bbalance
=
bbalance
+
2361年
在哪里
报价
=
1
;
|
|
设置compute_query_id =;
|
1
2
3
4
5
|
选择
datname
,
查询
,
query_id
从
pg_stat_activity
;
datname
|
查询
|
查询
_id
- - -
- - -
- - -
- - -
- - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
+
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - - - - -
postgres
|
选择
datname
,
查询
,
query_id
从
pg_stat_activity
;
|
846165942585941982
postgres
|
更新
pgbench_tellers
集
tbalance
=
tbalance
+
3001年
在哪里
tid
=
44
;
|
3354982309855590749
|
- 日志
在以前的版本中,没有机制来计算query_id服务器核心。query_id是特别有用的日志文件。启用,我们需要配置log_line_prefix配置参数。“% Q”选项被添加到显示query_id;这是例子。
|
1
|
log_line_prefix
=
“query_id = [% Q] - >”
|
|
1
2
3
4
5
|
query_id
=
(
0
]
- >
日志
:
声明
:
创建
过程
ptestx
(
出
一个
int
)
语言
SQL
作为
美元
美元
插入
成
cp_test
值
(
1
,
“一个”
)
美元
美元
;
query_id
=
(
- - - - - -
6788509697256188685
]
- >
错误
:
返回
类型
不匹配
在
函数
宣布
来
返回
记录
query_id
=
(
- - - - - -
6788509697256188685
]
- >
细节
:
函数”年代
最后
声明
必须
是
选择
或
插入
/
更新
/
删除
返回
。
query_id
=
(
- - - - - -
6788509697256188685
]
- >
上下文
:
SQL
函数
“ptestx”
query_id
=
(
- - - - - -
6788509697256188685
]
- >
声明
:
创建
过程
ptestx
(
出
一个
int
)
语言
SQL
作为
美元
美元
插入
成
cp_test
值
(
1
,
“一个”
)
美元
美元
;
|
- 解释
解释详细将显示query_id如果compute_query_id是真的。
设置compute_query_id =;
|
1
2
3
4
5
6
7
|
解释
详细的
选择
*
从
喷火
;
查询
计划
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
Seq
扫描
在
公共
. foo
(
成本
=
0.00,15.01
行
=
1001年
宽度
=
4
)
输出
:
一个
(
2
行
)
|
设置compute_query_id =;
|
1
2
3
4
5
6
7
|
解释
详细的
选择
*
从
喷火
;
查询
计划
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
Seq
扫描
在
公共
. foo
(
成本
=
0.00,15.01
行
=
1001年
宽度
=
4
)
输出
:
一个
查询
标识符
:
3480779799680626233
(
3
行
)
|
autovacuum和auto-analyze日志增强
PostgreSQL-14改善auto-vacuum和auto-analyze的日志记录。现在我们可以看到日志中的I / O计时,显示有多少花在阅读和写作。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
自动
真空
的
表
“postgres.pg_catalog.pg_depend”
:
指数
扫描
:
1
页面
:
0
删除
,
67年
保持
,
0
跳过
由于
来
针
,
0
跳过
冻
元组
:
89年
删除
,
8873年
保持
,
0
是
死
但
不
然而,
可移动的
,
最古老的
xmin
:
210871年
指数
扫描
需要
:
2
页面
从
表
(
2.99
%
的
总
)
有
341年
死
项
标识符
删除
指数
“pg_depend_depender_index”
:
页面
:
39
在
总
,
0
新
删除
,
0
目前
删除
,
0
可重用的
指数
“pg_depend_reference_index”
:
页面
:
41
在
总
,
0
新
删除
,
0
目前
删除
,
0
可重用的
我
/
O
计时
:
读
:
44.254
女士
,
写
:
0.531
女士
avg
读
率
:
13.191
MB
/
年代
,
avg
写
率
:
8.794
MB
/
年代
缓冲
使用
:
167年
支安打
,
126年
错过
,
84年
被踩
细胞膜
使用
:
85年
记录
,
15
完整的
页面
图片
,
78064年
字节
系统
使用
:
CPU
:
用户
:
0.00
年代
,
系统
:
0.00
年代
,
运行
:
0.07
年代
|
如果启用了track_io_timing这些日志只可用。
连接日志
PostgreSQL已经记录连接/断开如果log_connections log_disconnections。因此,PostgreSQL-14现在也记录实际的用户提供的用户名。以防一些外部身份验证,映射是pg_ident中定义。配置,它将成为难以识别实际的用户名。PostgreSQL-14之前,你只看到映射用户而不是实际的用户。
pg_ident.conf
|
1
2
3
|
# MAPNAME SYSTEM-USERNAME PG-USERNAME
pg
流浪的
postgres
|
pg_hba.conf
|
1
2
3
|
#输入数据库用户地址的方法
#“本地”仅用于Unix域套接字连接
当地的
所有
所有
同行
地图
=
pg
|
之前PostgreSQL-14
|
1
2
3
4
|
日志
:
数据库
系统
是
关闭
下来
在
2021年
- - - - - -
11
- - - - - -
19
11
:
24
:
30.
UTC
日志
:
数据库
系统
是
准备好了
来
接受
连接
日志
:
连接
收到了
:
主机
=
(
当地的
]
日志
:
连接
授权
:
用户
=
postgres
数据库
=
postgres
application_name
=
psql
|
PostgreSQL-14
|
1
2
3
4
|
日志
:
数据库
系统
是
准备好了
来
接受
连接
日志
:
连接
收到了
:
主机
=
(
当地的
]
日志
:
连接
通过身份验证
:
身份
=
“流浪汉”
方法
=
同行
(
/
usr
/
当地的
/
pgsql
。
14
/
本
/
数据
/
pg_hba
. conf
:
89年
)
日志
:
连接
授权
:
用户
=
postgres
数据库
=
postgres
application_name
=
psql
|
结论
每一个主要的PostgreSQL释放有显著的增强,PostgreSQL-14也不例外。
raybet雷竞技竞猜在线官网任何DBMS系统的监测是一个关键的特性,和PostgreSQL不断升级其能力,以改善其日志记录和监视功能。与这些新添加的功能,你有更多的见解连接;一个可以很容易地跟踪查询和观察性能,确定被真空过程花了多少时间读/写操作。这可以大大受益你配置真空参数更好。
随着越来越多的公司看从Oracle迁移或实施的新数据库与应用程序,PostgreSQL通常是最好的选择对于那些想要在开放源代码数据库上运行。
读我们的新白皮书:
为什么客户选择为PostgreSQL Pe雷竞技下载官网rcona吗






