Postgres-9.5를 실행 중입니다. 나는 큰 테이블을 가지고 있는데, 나는 ALTER TABLE table SET UNLOGGED
을하고있다. FK 참조 테이블은 언 로그 될 수 없기 때문에 이미 테이블을 대상으로하는 모든 외래 키 제약 조건을 삭제했습니다. 쿼리는 약 20 분이 걸렸고 전체 시간 동안 CPU를 100 % 소비했습니다. 나는 테이블을 기록하기 위해 오랜 시간이 걸린다는 것을 이해할 수 있지만, 기록되지 않은 상태로 만드는 것은 어려운 것처럼 보이지 않는다 ... 그러나 그것인가?Postgres SET UNLOGGED에 시간이 오래 걸립니다.
테이블을 잠그지 않은 상태로 설정하는 것이 더 빠를 수 있습니까?
자물쇠가 대기 중일 수 있습니까? https://wiki.postgresql.org/wiki/Lock_Monitoring –
몇 초마다'pg_stat_activity'를 쿼리하여이를 모니터링하고 있었고'waiting' 컬럼이 true로 설정되어 있지 않은 것을 보았습니다. 그리고 계속해서 높은 CPU 사용량을 보았습니다. 그것은 기다리고 있지 않습니다. 또한 격리 된 테스트 데이터베이스에 있었기 때문에 다른 쿼리가 전혀 실행되지 않았다는 것을 알고 있습니다. – sudo
@NickBarnes 아, 그게 해결책입니다. 언 로그 된 설정에 다시 쓰기가 필요하다는 이상한 것처럼 보이지만 Postgres가 어떻게 작동하는지 실제로 알지 못합니다. – sudo