30장. postgresql RHEL 시스템 역할을 사용하여 PostgreSQL 설치 및 구성
시스템 관리자는 postgresql
RHEL 시스템 역할을 사용하여 PostgreSQL 서버의 성능을 설치, 구성, 관리, 시작 및 개선할 수 있습니다.
30.1. postgresql 역할 변수
postgresql
RHEL 시스템 역할의 다음 변수를 사용하여 PostgreSQL 서버 동작을 사용자 지정할 수 있습니다.
postgresql_verison
PostgreSQL 서버의 버전을 RHEL 8 및 RHEL 9 관리형 노드에서 릴리스되고 지원되는 PostgreSQL 버전으로 설정할 수 있습니다. 예를 들면 다음과 같습니다.
postgresql_version: "13"
postgresql_password
선택적으로
postgres
데이터베이스 슈퍼유저의 암호를 설정할 수 있습니다. 기본적으로 암호가 설정되지 않으며 UNIX 소켓을 통해postgres
시스템 계정에서 데이터베이스에 액세스할 수 있습니다. Ansible Vault를 사용하여 암호를 암호화하는 것이 좋습니다. 예를 들면 다음과 같습니다.postgresql_password: !vault | $ANSIBLE_VAULT;1.2;AES256;dev ....
postgresql_pg_hba_conf
postgresql_pg_hba_conf
변수의 내용은/var/lib/pgsql/data/pg_hba.conf
파일의 기본 업스트림 구성을 대체합니다. 예를 들면 다음과 같습니다.postgresql_pg_hba_conf: - type: local database: all user: all auth_method: peer - type: host database: all user: all address: '127.0.0.1/32' auth_method: ident - type: host database: all user: all address: '::1/128' auth_method: ident
postgresql_server_conf
postgresql_server_conf
변수의 콘텐츠는/var/lib/pgsql/data/postgresql.conf
파일의 끝에 추가됩니다. 결과적으로 기본 설정을 덮어씁니다. 예를 들면 다음과 같습니다.postgresql_server_conf: ssl: on shared_buffers: 128MB huge_pages: try
postgresql_ssl_enable
SSL/TLS 연결을 설정하려면
postgresql_ssl_enable
변수를true
로 설정합니다.postgresql_ssl_enable: true
또한 다음 방법 중 하나를 사용하여 서버 인증서와 개인 키를 제공합니다.
-
기존 인증서 및 개인 키를 사용하려면
postgresql_cert_name
변수를 사용합니다. -
postgresql_certificates
변수를 사용하여 새 인증서를 생성합니다.
-
기존 인증서 및 개인 키를 사용하려면
postgresql_cert_name
자체 인증서 및 개인 키를 사용하려면
postgresql_cert_name
변수를 사용하여 인증서 이름을 지정합니다. 인증서와 키 파일을 동일한 디렉터리에 보관하고.crt
및.key
접미사와 동일한 이름 아래에 보관해야 합니다.예를 들어 인증서 파일이
/etc/certs/server.crt
에 있고/etc/certs/server.key
의 개인 키에 있는 경우postgresql_cert_name
값을 다음과 같이 설정합니다.postgresql_cert_name: /etc/certs/server
postgresql_certificates
postgresql_certificates
변수에는redhat.rhel_system_roles.certificate
역할에서 사용하는 것과 동일한 형식의dict
목록이
필요합니다. 인증서 역할이 PostgreSQL 역할로 구성된 PostgreSQL 서버의 인증서를 생성하도록 하려면postgresql_certificates
변수를 지정합니다. 다음 예에서는/etc/pki/tls/certs/
디렉터리에 자체 서명된 인증서postgresql_cert.crt
가 생성됩니다. 기본적으로 인증서가 자동으로 생성되지 않습니다([]
).postgresql_certificates: - name: postgresql_cert dns: ['localhost', 'www.example.com'] ca: self-sign
postgresql_input_file
SQL 스크립트를 실행하려면
postgresql_input_file
변수를 사용하여 SQL 파일의 경로를 정의합니다.postgresql_input_file: "/tmp/mypath/file.sql"
postgresql_server_tuning
기본적으로 PostgreSQL 시스템 역할은 시스템 리소스를 기반으로 서버 설정 최적화를 활성화합니다. 튜닝을 비활성화하려면
postgresql_server_tuning
변수를false
로 설정합니다.postgresql_server_tuning: false
추가 리소스
-
/usr/share/ansible/roles/rhel-system-roles.postgresql/README.md
파일 -
/usr/share/doc/rhel-system-roles/postgresql/
디렉터리