diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-23 03:08:51 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-04-23 03:08:51 +0300 |
commit | 4654b55eb5151655e278ad9918625e52407da5b3 (patch) | |
tree | 1c1e252cf4fd2bf017d14f984262230bcbf17f58 | |
parent | 63195885abc31f484be5784fd53c75a1825a78c0 (diff) |
Add latest changes from gitlab-org/gitlab@master
-rw-r--r-- | db/migrate/20220422200633_fix_view_for_per_table_autovacuum_status.rb | 73 | ||||
-rw-r--r-- | db/schema_migrations/20220422200633 | 1 | ||||
-rw-r--r-- | db/structure.sql | 6 | ||||
-rw-r--r-- | doc/user/packages/container_registry/index.md | 8 |
4 files changed, 81 insertions, 7 deletions
diff --git a/db/migrate/20220422200633_fix_view_for_per_table_autovacuum_status.rb b/db/migrate/20220422200633_fix_view_for_per_table_autovacuum_status.rb new file mode 100644 index 00000000000..abd7e43128f --- /dev/null +++ b/db/migrate/20220422200633_fix_view_for_per_table_autovacuum_status.rb @@ -0,0 +1,73 @@ +# frozen_string_literal: true + +class FixViewForPerTableAutovacuumStatus < Gitlab::Database::Migration[2.0] + def up + execute <<~SQL + DROP VIEW IF EXISTS postgres_autovacuum_activity; + DROP FUNCTION IF EXISTS postgres_pg_stat_activity_autovacuum; + + CREATE OR REPLACE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS TABLE(query text, query_start timestamptz) AS + $$ + SELECT query, query_start + FROM pg_stat_activity + WHERE datname = current_database() + AND state = 'active' + AND backend_type = 'autovacuum worker' + $$ + LANGUAGE sql + VOLATILE + SECURITY DEFINER + SET search_path = 'pg_catalog', 'pg_temp'; + + CREATE VIEW postgres_autovacuum_activity AS + WITH processes as + ( + SELECT query, query_start, (regexp_matches(query, '^autovacuum: VACUUM (\w+)\.(\w+)')) as matches + FROM postgres_pg_stat_activity_autovacuum() + WHERE query ~* '^autovacuum: VACUUM \w+\.\w+' + ) + SELECT matches[1] || '.' || matches[2] as table_identifier, + matches[1] as schema, + matches[2] as table, + query_start as vacuum_start + FROM processes; + + COMMENT ON VIEW postgres_autovacuum_activity IS 'Contains information about PostgreSQL backends currently performing autovacuum operations on the tables indicated here.'; + SQL + end + + def down + execute(<<~SQL) + DROP VIEW IF EXISTS postgres_autovacuum_activity; + DROP FUNCTION IF EXISTS postgres_pg_stat_activity_autovacuum; + + CREATE OR REPLACE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS SETOF pg_catalog.pg_stat_activity AS + $$ + SELECT * + FROM pg_stat_activity + WHERE datname = current_database() + AND state = 'active' + AND backend_type = 'autovacuum worker' + $$ + LANGUAGE sql + VOLATILE + SECURITY DEFINER + SET search_path = 'pg_catalog', 'pg_temp'; + + CREATE VIEW postgres_autovacuum_activity AS + WITH processes as + ( + SELECT query, query_start, (regexp_matches(query, '^autovacuum: VACUUM (\w+)\.(\w+)')) as matches + FROM postgres_pg_stat_activity_autovacuum() + WHERE query ~* '^autovacuum: VACUUM \w+\.\w+' + ) + SELECT matches[1] || '.' || matches[2] as table_identifier, + matches[1] as schema, + matches[2] as table, + query_start as vacuum_start + FROM processes; + + COMMENT ON VIEW postgres_autovacuum_activity IS 'Contains information about PostgreSQL backends currently performing autovacuum operations on the tables indicated here.'; + SQL + end +end diff --git a/db/schema_migrations/20220422200633 b/db/schema_migrations/20220422200633 new file mode 100644 index 00000000000..3cb52317fa0 --- /dev/null +++ b/db/schema_migrations/20220422200633 @@ -0,0 +1 @@ +666eff0892b795c7f1a84dfcdb6fad6266f952bb91b69c81e803d16ecdc0d11d
\ No newline at end of file diff --git a/db/structure.sql b/db/structure.sql index 1a81981ef9d..a4c42e90791 100644 --- a/db/structure.sql +++ b/db/structure.sql @@ -106,11 +106,11 @@ BEGIN END; $$; -CREATE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS SETOF pg_stat_activity +CREATE FUNCTION postgres_pg_stat_activity_autovacuum() RETURNS TABLE(query text, query_start timestamp with time zone) LANGUAGE sql SECURITY DEFINER SET search_path TO 'pg_catalog', 'pg_temp' AS $$ - SELECT * + SELECT query, query_start FROM pg_stat_activity WHERE datname = current_database() AND state = 'active' @@ -18747,7 +18747,7 @@ CREATE VIEW postgres_autovacuum_activity AS SELECT postgres_pg_stat_activity_autovacuum.query, postgres_pg_stat_activity_autovacuum.query_start, regexp_matches(postgres_pg_stat_activity_autovacuum.query, '^autovacuum: VACUUM (w+).(w+)'::text) AS matches - FROM postgres_pg_stat_activity_autovacuum() postgres_pg_stat_activity_autovacuum(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) + FROM postgres_pg_stat_activity_autovacuum() postgres_pg_stat_activity_autovacuum(query, query_start) WHERE (postgres_pg_stat_activity_autovacuum.query ~* '^autovacuum: VACUUM w+.w+'::text) ) SELECT ((processes.matches[1] || '.'::text) || processes.matches[2]) AS table_identifier, diff --git a/doc/user/packages/container_registry/index.md b/doc/user/packages/container_registry/index.md index 59bb4a89b0b..c90475f1bdd 100644 --- a/doc/user/packages/container_registry/index.md +++ b/doc/user/packages/container_registry/index.md @@ -626,10 +626,10 @@ Use your own URLs to complete the following steps: docker pull gitlab.example.com/org/build/sample_project/cr:v2.9.1 ``` -NOTE: -For container registry authentication, use either a -[personal access token](../../profile/personal_access_tokens.md) or a -[deploy token](../../project/deploy_tokens/index.md). + NOTE: + For container registry authentication, use either a + [personal access token](../../profile/personal_access_tokens.md) or a + [deploy token](../../project/deploy_tokens/index.md). 1. Rename the images to match the new project name: |