"ERROR:  ˂module/extension˃ must be loaded via shared_preload_libraries" 오류를 해결하려면 어떻게 해야 하나요?

3분 분량
0

PostgreSQL DB 인스턴스 Amazon Relational Database Service(RDS)가 있습니다. "ERROR:  <module/extension> must be loaded via shared_preload_libraries" 오류를 해결하고 싶습니다.

간략한 설명

Amazon RDS for PostgreSQL를 사용한다면, 서버에 미리 공유 라이브러리를 로드할 수 있습니다. 이를 통해 추가 기능을 로드하거나 성능상의 이점을 얻을 수 있습니다. 하지만 모듈/확장을 사용할 때 다음 오류가 발생할 수 있습니다.

"ERROR: <module/extension> must be loaded via shared_preload_libraries"

예를 들어 pg_stat_statements을 쿼리하면 다음 오류가 발생할 수 있습니다.

postgres=> SELECT * FROM pg_stat_statements;
ERROR:  relation "pg_stat_statements" does not exist
postgres=> CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
CREATE EXTENSION

postgres=> SELECT * FROM pg_stat_statements;
ERROR:  pg_stat_statements must be loaded via shared_preload_libraries

이 오류를 해결하고 pg_stat_statements를 쿼리하려면, DB 인스턴스와 연결된 사용자 지정 파라미터 그룹에서 shared_preload_libraries의 값을 pg_stat_statements로 설정해야 합니다.

RDS for PostgreSQL에서 다음 모듈/확장을 사용하도록 사용자 지정 파라미터 그룹에서 shared_preload_libraries 파라미터 값을 수정합니다.

  • auto_explain
  • orafce
  • pgaudit
  • pglogical
  • pg_hint_plan
  • pg_prewarm
  • pg_similarity
  • pg_stat_statements
  • pg_transport
  • plprofiler

참고: 파라미터 값은 사용자 지정 파라미터 그룹에서 수정할 수 있습니다. 기본 DB 파라미터 그룹에서는 파라미터 값을 변경할 수 없습니다. 사용자 지정 파라미터 그룹의 파라미터를 변경하면 해당 파라미터 그룹과 연결된 모든 DB 인스턴스에 변경 내용이 적용됩니다.

해결 방법

사용자 지정 파라미터 그룹 생성

참고: 이미 사용자 지정 파라미터 그룹이 있다면 다음 단계로 건너뜁니다.

  1. Amazon RDS 콘솔에 로그인합니다.
  2. 탐색 창에서 파라미터 그룹을 선택합니다.
  3. 파라미터 그룹 생성을 선택합니다.
  4. 파라미터 그룹군 목록에서 DB 파라미터 그룹군을 선택합니다.
  5. 그룹 이름상자에 새 DB 파라미터 그룹의 이름을 입력합니다.
  6. 설명 상자에 새 DB 파라미터 그룹에 대한 설명을 입력합니다.
  7. 생성을 선택합니다.

사용자 지정 파라미터 그룹의 파라미터 수정

  1. Amazon RDS 콘솔에 로그인합니다.
  2. 탐색 창에서 파라미터 그룹을 선택합니다.
  3. 목록에서 수정하려는 파라미터 그룹을 선택합니다.
  4. 파라미터 그룹 작업에서 편집을 선택합니다.
  5. shared_preload_libraries 파라미터의 값을 변경합니다.
  6. 변경 사항 저장을 선택합니다.

참고: shared_preload_libraries 파라미터는 정적 매개 변수입니다. 정적 파라미터를 변경하고 DB 파라미터 그룹을 저장했을 때 파라미터 변경 내용은 DB 인스턴스 재부팅을 수동으로 진행한 후에 적용됩니다.

파라미터 그룹을 DB 인스턴스에 연결

참고: 사용자 지정 파라미터 그룹이 이미 DB 인스턴스에 연결되어 있다면 다음 단계로 건너뜁니다.

DB 인스턴스를 수정하여 사용자 지정 파라미터 그룹을 DB 인스턴스에 연결합니다.

DB 인스턴스 재부팅

중요: DB 인스턴스와 연결된 DB 파라미터 그룹을 변경한 후에는 DB 인스턴스를 수동으로 재부팅해야 합니다. 이 작업을 수행하고 난 후에 DB 인스턴스에서 새 DB 파라미터 그룹을 사용해야 합니다.

Amazon RDS 콘솔을 사용하여 DB 인스턴스를 재부팅합니다. 다른 방법으로는 명시적으로 RebootDBInstance API 작업을 호출할 수 있습니다(DB 인스턴스가 다중 AZ 배포인 경우 장애 조치 없이).

관련 정보

PostgreSQL documentation for pg_stat_statements(PostgreSQL 웹 사이트 참조)

파라미터 그룹에서 작업