mirror of
https://github.com/postgres/postgres.git
synced 2025-12-21 05:21:08 +03:00
Make use of in-core query id added by commit 5fd9dfa5f5
Use the in-core query id computation for pg_stat_activity, log_line_prefix, and EXPLAIN VERBOSE. Similar to other fields in pg_stat_activity, only the queryid from the top level statements are exposed, and if the backends status isn't active then the queryid from the last executed statements is displayed. Add a %Q placeholder to include the queryid in log_line_prefix, which will also only expose top level statements. For EXPLAIN VERBOSE, if a query identifier has been computed, either by enabling compute_query_id or using a third-party module, display it. Bump catalog version. Discussion: https://postgr.es/m/20210407125726.tkvjdbw76hxnpwfi@nol Author: Julien Rouhaud Reviewed-by: Alvaro Herrera, Nitin Jadhav, Zhihong Yu
This commit is contained in:
@@ -165,6 +165,9 @@ typedef struct PgBackendStatus
|
||||
ProgressCommandType st_progress_command;
|
||||
Oid st_progress_command_target;
|
||||
int64 st_progress_param[PGSTAT_NUM_PROGRESS_PARAM];
|
||||
|
||||
/* query identifier, optionally computed using post_parse_analyze_hook */
|
||||
uint64 st_queryid;
|
||||
} PgBackendStatus;
|
||||
|
||||
|
||||
@@ -294,12 +297,14 @@ extern void pgstat_clear_backend_activity_snapshot(void);
|
||||
|
||||
/* Activity reporting functions */
|
||||
extern void pgstat_report_activity(BackendState state, const char *cmd_str);
|
||||
extern void pgstat_report_queryid(uint64 queryId, bool force);
|
||||
extern void pgstat_report_tempfile(size_t filesize);
|
||||
extern void pgstat_report_appname(const char *appname);
|
||||
extern void pgstat_report_xact_timestamp(TimestampTz tstamp);
|
||||
extern const char *pgstat_get_backend_current_activity(int pid, bool checkUser);
|
||||
extern const char *pgstat_get_crashed_backend_activity(int pid, char *buffer,
|
||||
int buflen);
|
||||
extern uint64 pgstat_get_my_queryid(void);
|
||||
|
||||
|
||||
/* ----------
|
||||
|
||||
Reference in New Issue
Block a user