반응형
이번 포스트에서는 pgpool-II 에서 사용하는 파라미터들을 정리해보겠습니다.
다음 포스팅에서는 오늘 설명한 파라미터를 사용하고 직접 서버 설정을 하여 PostgreSQL 노드와 pgpool-II 노드를 연결 해보도록 하겠습니다!
pgpool-II 이 뭔지 모르시겠다면 아래 포스팅 훑어보고 오시는 걸 추천드립니당!!
2023.06.14 - [PostgreSQL] - pgpool-II Overview | PostgreSQL 14 HA Tool
pgpool-II Overview | PostgreSQL 14 HA Tool
pgpool-II은 PostgreSQL tool이며 많은 기능을 제공하며 많이 쓰이는 툴 중 하나 입니다. 양이 방대하여 파트를 나누어서 업로드 하려고 합니다. pgpool-II 이란? PostgreSQL 서버와 PostgreSQL 데이터베이스 클
omi-1101.tistory.com

| Clustering and Connection settings | |
| 기능 | 설명 |
| backend_clustering_mode | PostgrerSQL 서버를 동기화 하는 방법. 6가지 클러스터링 모드가 존재 |
| listen_address | pgpool 연결을 허용할 address를 지정 |
| port | pgpool 연결을 수신하기 위한 port number를 설정 |
| socker_dir | pgpool 에 대한 연결을 수락하는 UNIX 도메인 소켓이 생성될 디렉토리 |
| PCP Settings | |
| 기능 | 설명 |
| pcp_listen_address | pcp 프로세스가 TCP/IP 연결 할 호스트 이름 또는 IP 주소를 지정 |
| pcp_port | pcp 프로세스가 연결을 수신 대기하는데 사용하는 포트 |
| pcp_socket_dir | pcp 프로세스의 연결을 수락하는 UNIX 도메인 소켓이 생성될 디렉토리 |
| Authentication Settings | |
| Authentication Settings | |
| 기능 | 설명 |
| enable_pool_hba | pgpool은 클라이언트 인증을 위해 pool_hba.conf를 사용 |
| Backend Connection Settings | |
| 기능 | 설명 |
| backend_hostname | 연결할 PostgreSQL 백엔드를 지정 |
| backend_port | 백엔드의 포트번호 지정 |
| backend_weight | 백엔드의 부하 분산 비율을 지정. |
| backend_data_directory | 백엔드의 데이터 클러스터 디렉토리를 지정. Online Recovery일 경우에만 해당 |
| backend_flag | 다양한 백엔드 동작을 제어. ‘|’ 를 사용하여 여러 플래그를 지정 1.ALLOW_TO_FAILOVER : 장애 조치 또는 백엔드 분리를 허용 2.DISALLOW_TO_FAILOVER : 장애 조치 또는 분리 허용하지 않음. HA 소프트웨어를 사용하여 백엔드를 보호 3.ALWAYS_PRIMARY : 스트리밍 복제 모드에서만 유용.설정된 노드를 항상 Primary로 인식 |
| backend_application_name | Primary 노드에서 WAL 로그를 수신하는 walreceiver의 애플리케이션 이름 지정 |
| Health Check Settings | |
| 기능 | 설명 |
| health_check_period | 상태 확인 사이의 간격을 초 단위로 지정 |
| health_check_timeout | TCP 연결이 시간 내에 성공하지 못한 경우 백엔드 PostgreSQL 연결을 포기 할 시간 제한 |
| health_check_user | 상태 확인을 수행할 사용자 이름을 지정 모든 PostgreSQL 백엔드에 동일한 사용자가 있어야 함 |
| health_check_password | 상태 확인을 수행하기 위해 health_check_user에 구성된 사용자의 비밀번호를 지정 |
| health_check_database | 상태 확인을 수행할 데이터베이스 이름을 지정 |
| health_check_max_retries | health Check를 실패하면 포기하고 장애 조치를 시작하기 전에 수행할 최대 재시도 횟수를 지정 |
| Streaming Replication Mode Settings | |
| 기능 | 설명 |
| sr_check_period | 스트리밍 복제 지연을 확인하는 시간 간격을 지정 |
| sr_check_user | 스트리밍 복제 검사를 수행할 PostgreSQL 사용자 이름을 지정 |
| sr_check_password | 스트리밍 복제 검사를 수행할 사용자의 암호를 지정 |
| sr_check_database | 스트리밍 복제 지연 검사를 수행할 데이터베이스를 지정 |
| Virtual IP Control Settings | |
| 기능 | 설명 |
| delegate_IP | 클라이언트 서버에서 연결되는 pgpool의 가상 IP 주소 지정 |
| if_cmd_path | pgpool 의 시스템의 가상 IP를 전환 하는데 사용할 명령어의 경로 지정 |
| if_up_cmd | 가상 IP를 불러오는 명령어를 지정 |
| if_down_cmd | 가상 IP를 중단하는 명령어를 지정 |
| arping_path | pgpool이 가상 IP 전환 후 ARP요청을 보내는데 사용할 명령의 경로 지정 |
| arping_cmd | 가상 IP 전환 후 ARP 보내는데 사용할 명령어를 지정 |
| Escalation Settings | |
| 기능 | 설명 |
| enable_consensus_with_half_votes | watchdog 클러스터가 짝수의 pgpool 노드에 대해 구성된 경우에만 구성. failover에 대한 합의를 해결하기 위해 pgpool 에서 다수 규칙 계산을 수행하는 방법 |
| Watchdog Settings | |
| 기능 | 설명 |
| wd_lifecheck_method | pgpool 상태를 확인하는 lifecheck 방법을 지정 |
| wd_interval | pgpool의 수명 확인하는 간격을 지정 |
| Lifecheck Settings | |
| 기능 | 설명 |
| use_watchdog | On 시 watchdog이 활성화 |
| hostname | pgpool 서버의 호스트 이름 또는 IP 주소를 지정 |
| wd_port | 감시 프로세스가 수신 대기 하는데 사용할 포트 번호 |
| pgpool_port | pgpool 포트 번호 지정 |
| wd_ipc_socket_dir | watchdog IPC 연결을 수락하는 UNIX 도메인 소켓이 생성될 디렉토리 |
| Heartbeat Mode Settings | |
| 기능 | 설명 |
| heartbeat_hostname | heartbeat 신호를 보내고 받기 위한 IP 주소 또한 호스트 이름을 지정 |
| heartbeat_port | heartbeat 신호를 보내고 받기 위한 포트 번호를 지정 |
| heartbeat_device | heartbeat 신호를 보내고 받기 위한 네트워크 장치 이름을 지정 |
| wd_heartbeat_keepalive | heartbeat 신호를 보내는 간격을 지정 |
| wd_heartbeat_deadtime | 해당 시간 내에 heartheat 신호가 수신되지 않는 경우. 원격 watchdog 노드를 failed/dead 노드로 표시하기 전의 시간을 지정 |
| Logs settings | |
| 기능 | 설명 |
| log_destination | 로그를 기록하기 위해 두 가지 방식으로 지원. (stderr/syslog ) |
| logging_collector | 백그라운드 프로세스인 로깅 수집기를 활성화 |
| log_directory | 로그 파일이 생성될 디렉토리 결정 |
| log_filename | 생성된 로그 파일의 이름을 선정 |
| log_truncate_on_rotation | pgpool가 동일한 이름의 기존 로그 파일에 추가하지않고 덮어씀 |
| log_rotation_age | 개별 로그 파일을 사용할 수 있는 최대 시간을 설정하고 이후에는 새로운 로그 파일이 생성 |
| log_rotation_size | 개별 로그 파일의 최대 크기를 결정 |
| Pid file Locations Settings | |
| 기능 | 설명 |
| Pid_file_name | pgpool 프로세스 ID를 저장할 파일의 전체 경로를 지정 |
| Follow Primary Command Settings | |
| 기능 | 설명 |
| follow_primary_command | pgpool 프로세스 ID를 저장할 파일의 전체 경로를 지정 |
| Failover Command Settings | |
| 기능 | 설명 |
| failover_command | failover_command 가 설정되어 있고 failover가 발생하면 failover_command 가 실행. |
| Online Recovery Settings | |
| 기능 | 설명 |
| recovery_user | 온라인 복구를 수행할 사용자 이름을 지정 |
| recovery_password | 온라인 복구를 수행하기 위해 recovery_user 에 구성된 사용자 이름의 암호를 지정 |
| recovery_timeout | 지정된 시간 내에 완료되지 않으면 온라인 복구를 취소할 시간을 지정 |
| recovery_1st_stage_command | 온라인 복구의 첫 번째 단계에서 기본 노드에서 실행할 명령어 지정 |
| load_balance_mode | pgpool로 들어오는 SELECT 쿼리에서 로드 밸런싱을 활성화 |
| Connection Pooling | |
| 기능 | 설명 |
| connection_cache | 백엔드에 대한 연결을 캐시 |
| max_pool | pgpool의 자식 프로세스마다 가진 연결 캐시의 수 |
| listen_backlog_multiplier | 프론트앤드로부터 연결 큐의 길이 |
| serialize_accept | serial 통신을 활성화 |
| child_life_time | idle 상태로 유지되는 child process의 시간을 지정 |
| client_idle_limit | 마지막 쿼리 이후에 idle 상태로 남아있는 자식 프로세스가 있으면 클라이언트의 연결을 종료 |
| child_max_connections | pgpool의 child proces가 수신할 수 있는 client 연결 수를 기준으로 child process의 수명을 지정 |
| connection_life_time | 캐시된 연결의 life time을 결정 |
| reset_query_list | 사용자의 세션을 종료할 때 백엔드의 연결이 reset 될 때 전송할 SQL 명령을 지정 |
이 파라미터를 이용해서 다음 포스트에서는 노드를 연결 해보도록 하겠습니다! 😎
반응형
'PostgreSQL' 카테고리의 다른 글
| pgpool-II 부록 : PCP Commands (2) | 2023.06.16 |
|---|---|
| pgpool-II(3) | pgpool-II 설치 및 기본 구성 (pgpool-II Installation and Basic Configuration) (2) | 2023.06.16 |
| pgpool-II Overview | PostgreSQL 14 HA Tool (0) | 2023.06.14 |
| PostgreSQL14 논리적 복제 | Logical Replication (0) | 2023.06.08 |
| PostgreSQL 14 스트리밍 복제 - 장애 복구 | Streaming Replication - Failover (2) | 2023.06.07 |