Postgresql 后端启动如何比xact启动更好

Postgresql 后端启动如何比xact启动更好,postgresql,Postgresql,后端启动时间如何超过xact\U启动/查询\U启动的2天?第三节看起来不错,但前两节看起来很奇怪,这可能吗?这有什么意义吗 pg=> select * from pg_catalog.pg_stat_activity where usename = 'etl_user' and state = 'active' and backend_xmin = 65201266; datid | datname | pid |usesysid | usename |

后端启动时间如何超过xact\U启动/查询\U启动的2天?第三节看起来不错,但前两节看起来很奇怪,这可能吗?这有什么意义吗

pg=> select * from pg_catalog.pg_stat_activity where usename = 'etl_user' and state = 'active' and backend_xmin = 65201266;              
datid | datname |  pid  |usesysid | usename  |    application_name    |  client_addr   | client_hostname | client_port |         backend_start         |          xact_start           |         query_start          |         state_change          | wait_event_type | wait_event| state  | backend_xid | backend_xmin |                                                                                                    query                          |  backend_type
-------+---------+-------+----------+----------+------------------------+----------------+-----------------+-------------+-------------------------------+-------------------------------+-------------------------------+-------------------------------+-----------------+------------+--------+-------------+--------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------
 16408 | pg| 37908 |   229661 | etl_user | PostgreSQL JDBC Driver |                |                 |             | 2021-04-20 21:36:22.540271+00 | 2021-04-17 22:31:32.314106+00 | 2021-04-17 22:31:32.317577+00 | 2021-04-20 21:36:22.541472+00 |                 || active |             |     65201266 | SELECT 1 FROM (SELECT ...)  | parallel worker
 16408 | pg| 37909 |   229661 | etl_user | PostgreSQL JDBC Driver |                |                 |             | 2021-04-20 21:36:22.540909+00 | 2021-04-17 22:31:32.314106+00 | 2021-04-17 22:31:32.317577+00 | 2021-04-20 21:36:22.542134+00 |                 || active |             |     65201266 | SELECT 1 FROM (SELECT ...)  | parallel worker
 16408 | pg|  3601 |   229661 | etl_user | PostgreSQL JDBC Driver | 10.175.130.142 |                 |       49832 | 2021-04-17 22:31:32.232008+00 | 2021-04-17 22:31:32.314106+00 | 2021-04-17 22:31:32.317577+00 | 2021-04-17 22:31:32.317578+00 |                 || active |             |     65201266 | SELECT 1 FROM (SELECT ...)  | client backend
(3 rows)


是的,看起来不可能


我唯一的解释是,自会话开始以来,有人更改了系统时间。

在我看来,这些是为帮助领导者而启动的并行工作程序,它们继承了领导者xact_start,但不是后端_start。查看pg_stat_activity中的其余列并了解其版本会有所帮助。

好的,这是在aws aurora postgresql上,我不知道后端是否发生了更改:-)用所有列更新了帖子,版本是11.6,你是对的-他们是并行工作程序。但是一个查询可以在开始执行查询的两天后启动并行工作程序吗?我不知道为什么它会在这么长时间后启动并行工作程序。看到对这个问题的解释可能会提供一些启示。也许有些不能并行的任务必须先完成?