차례
다른 데이터베이스 소프트웨어와 마찬가지로, PostgreSQL에서도 최적의 성능을 유지하지 위해서는 주기적인 관리 작업이 필요하다. 여기서 관리 작업이란 꼭 필요한 작업이지만, 이 작업들은 대부분 항상 같은 형태로 반복 되는 작업이기 때문에, cron이나, 윈도우즈의 작업 스케줄러 같은 프로그램을 이용해서 그 작업을 등록해서 주기적으로 실행하면 된다. 물론, 이런 작업 스크립트를 작성 하는 일과, 그 작업이 정상적으로 실행 되었는지를 확인 하는 일은 데이터베이스 관리자의 몫이다.
주기적인 작업으로 가장 으뜸은 당연히 백업이다. 장애(하드웨어 측면의 장애이거나 운영상 사용자 실수에 의한 장애이거나) 가 발생했을 때, 마지막 보루는 가장 최근에 백업한 자료로 데이터베이스를 복구하는 것이다. 백업과 복구에 대한 자세한 이야기는 25장에서 소개하고 있다. (데이터베이스 관리자들 사이 흔한 농담으로 테이블을 날려 먹는 관리자는 용서 할 수 있어도, 백업 관리를 하지 않는 관리자는 용서할 수 없다고 한다. - 옮긴이)
또 다른 중요한 정기적인 관리 작업은 데이터베이스 “vacuum 하기”이다. 이 부분에 대한 자세한 이야기는 24.1절에서 다룬다. 이어서 쿼리 실행 계획기가 바른 실행 계획을 짜도록 테이블의 자료 통계 정보를 갱신 하는 것에 대한 부분은 24.1.3절에서 다룬다.
또 다른 작업으로는 서버 로그 파일 관리 작업인데, 이 부분에 대해서는 24.3절에서 다룬다.
check_postgres 프로그램은 데이터베이스 상태를 지켜보고, 비정상적인 상태에 대해서 보고하는 일을 한다. Nagios나 MRTG에서 check_postgres 프로그램을 이용하면 유용하게 쓰일 것이다. 물론 이 프로그램 단독으로 사용해도 충분히 그 역할을 한다.
PostgreSQL은 다른 데이터베이스 관리 시스템에 비해서 비교적 적은 관리 비용이 든다. 그럼에도 불구하고, 이런 정기적인 관리 작업에 대한 어느 정도의 관심은 보다 쾌적한 데이터베이스 서비스 품질을 제공할 수 있을 것이다.