PostgreSQL의 Autovacuum이 UNIX에서 실행 중인지 어떻게 알 수 있습니까?

StackOverflow https://stackoverflow.com/questions/19826467

  •  05-07-2022
  •  | 
  •  

문제

어떻게 할 수 있는지 알 수 있습니다 Autovacuum 데몬 Postgres에서 9.x는 데이터베이스 클러스터를 실행하고 유지하고 있습니까?

도움이 되었습니까?

해결책

Postgresql 9.3

Autovacuum이 실행 중인지 확인하십시오

이것은 UNIX의 Postgres 9.3에만 해당됩니다. Windows의 경우 이것을 참조하십시오 의문.

쿼리 Postgres 시스템 테이블

SELECT
  schemaname, relname,
  last_vacuum, last_autovacuum,
  vacuum_count, autovacuum_count  -- not available on 9.0 and earlier
FROM pg_stat_user_tables;

GREP 시스템 프로세스 상태

$ ps -axww | grep autovacuum
24352 ??  Ss      1:05.33 postgres: autovacuum launcher process  (postgres)    

Grep Postgres 로그

# grep autovacuum /var/log/postgresql
LOG:  autovacuum launcher started
LOG:  autovacuum launcher shutting down

당신이 더 알고 싶다면 autovacuum 활동, 설정 log_min_messages 에게 DEBUG1..DEBUG5. SQL 명령 VACUUM VERBOSE 로그 레벨에서 정보를 출력합니다 INFO.


Autovacuum 데몬과 관련하여 Posgres Docs 상태 :

기본 구성에서는 자동화 장치가 활성화되고 관련 구성 매개 변수가 적절하게 설정됩니다.

또한보십시오:

다른 팁

사용 중입니다 :

select count(*) from pg_stat_activity where query like 'autovacuum:%';

수집에서 얼마나 많은 Autovacuum이 동시에 실행되고 있는지 알기 위해.

다음과 같은 보안 기능을 만들어야 할 수도 있습니다.

CREATE OR REPLACE FUNCTION public.pg_autovacuum_count() RETURNS bigint
AS 'select count(*) from pg_stat_activity where query like ''autovacuum:%'';'
LANGUAGE SQL
STABLE
SECURITY DEFINER;

Collectd에서 호출하십시오.

이전 Postgres에서 "query"는 "current_query"였으므로 작동하는 것에 따라 변경하십시오.

PG_Activity를 실행하여 데이터베이스에서 현재 실행중인 쿼리를 볼 수도 있습니다. 나는 일반적으로 어쨌든 대부분의 시간을 달리면서 터미널을 열어두고 있습니다. 매우 유용한.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top