diff options
| author | Peter Eisentraut | 2019-06-04 07:16:02 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2019-06-04 07:29:02 +0000 |
| commit | c880096dc1e14b62610aa34bc98db226fa134260 (patch) | |
| tree | e9d32556ed70c73d8e5ae38321ec10688d845b7d /src/backend | |
| parent | 041a2642e51eb008351435709dcb054760a43bb9 (diff) | |
Add command column to pg_stat_progress_create_index
This allows determining which command is running, similar to
pg_stat_progress_cluster.
Discussion: https://www.postgresql.org/message-id/flat/f0e56b3b-74b7-6cbc-e207-a5ed6bee18dc%402ndquadrant.com
Diffstat (limited to 'src/backend')
| -rw-r--r-- | src/backend/catalog/index.c | 2 | ||||
| -rw-r--r-- | src/backend/catalog/system_views.sql | 5 | ||||
| -rw-r--r-- | src/backend/commands/indexcmds.c | 8 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index 50c8bb9ce65..d2e4f53a801 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -3278,6 +3278,8 @@ reindex_index(Oid indexId, bool skip_constraint_checks, char persistence, pgstat_progress_start_command(PROGRESS_COMMAND_CREATE_INDEX, heapId); + pgstat_progress_update_param(PROGRESS_CREATEIDX_COMMAND, + PROGRESS_CREATEIDX_COMMAND_REINDEX); pgstat_progress_update_param(PROGRESS_CREATEIDX_INDEX_OID, indexId); diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql index 52a6c315840..78a103cdb95 100644 --- a/src/backend/catalog/system_views.sql +++ b/src/backend/catalog/system_views.sql @@ -956,6 +956,11 @@ CREATE VIEW pg_stat_progress_create_index AS S.pid AS pid, S.datid AS datid, D.datname AS datname, S.relid AS relid, CAST(S.param7 AS oid) AS index_relid, + CASE S.param1 WHEN 1 THEN 'CREATE INDEX' + WHEN 2 THEN 'CREATE INDEX CONCURRENTLY' + WHEN 3 THEN 'REINDEX' + WHEN 4 THEN 'REINDEX CONCURRENTLY' + END AS command, CASE S.param10 WHEN 0 THEN 'initializing' WHEN 1 THEN 'waiting for writers before build' WHEN 2 THEN 'building index' || diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index 40ea629ffe7..4d76da82937 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -498,8 +498,14 @@ DefineIndex(Oid relationId, * done. */ if (!OidIsValid(parentIndexId)) + { pgstat_progress_start_command(PROGRESS_COMMAND_CREATE_INDEX, relationId); + pgstat_progress_update_param(PROGRESS_CREATEIDX_COMMAND, + stmt->concurrent ? + PROGRESS_CREATEIDX_COMMAND_CREATE_CONCURRENTLY : + PROGRESS_CREATEIDX_COMMAND_CREATE); + } /* * No index OID to report yet @@ -2923,6 +2929,8 @@ ReindexRelationConcurrently(Oid relationOid, int options) pgstat_progress_start_command(PROGRESS_COMMAND_CREATE_INDEX, RelationGetRelid(heapRel)); + pgstat_progress_update_param(PROGRESS_CREATEIDX_COMMAND, + PROGRESS_CREATEIDX_COMMAND_REINDEX_CONCURRENTLY); pgstat_progress_update_param(PROGRESS_CREATEIDX_INDEX_OID, indexId); pgstat_progress_update_param(PROGRESS_CREATEIDX_ACCESS_METHOD_OID, |
