View a markdown version of this page

PostgreSQL 호환 클라이언트를 사용하여 Aurora DSQL에 액세스 - Amazon Aurora DSQL

PostgreSQL 호환 클라이언트를 사용하여 Aurora DSQL에 액세스

Aurora DSQL은 PostgreSQL 유선 프로토콜을 사용합니다. AWS CloudShell, psql, DBeaver 및 DataGrip과 같은 다양한 도구 및 클라이언트를 사용하여 PostgreSQL에 연결할 수 있습니다. 다음 테이블에는 Aurora DSQL이 일반적인 PostgreSQL 연결 파라미터를 매핑하는 방법이 요약되어 있습니다.

PostgreSQL Aurora DSQL 참고
역할(사용자 또는 그룹이라고도 함) 데이터베이스 역할 Aurora DSQL은 admin이라는 역할을 생성합니다. 사용자 지정 데이터베이스 역할을 생성할 경우 클러스터에 연결할 때 인증을 위해 admin 역할을 사용하여 IAM 역할과 연결해야 합니다. 자세한 내용은 데이터베이스 역할 및 IAM 인증 사용 섹션을 참조하세요.
호스트(호스트 이름 또는 호스트 사양이라고도 함) 클러스터 엔드포인트 Aurora DSQL 단일 리전 클러스터는 단일 관리형 엔드포인트를 제공하고 리전 내에서 사용할 수 없는 경우 트래픽을 자동으로 리디렉션합니다.
Port 해당 사항 없음 - 기본값인 5432 사용 PostgreSQL 기본값입니다.
데이터베이스(dbname) postgres 사용 사용자가 클러스터를 생성할 때 Aurora DSQL이 이 데이터베이스를 생성합니다.
SSL Mode SSL은 항상 서버 측에서 활성화됨 Aurora DSQL에서 Aurora DSQL은 require SSL Mode를 지원합니다. SSL이 없는 연결은 Aurora DSQL에서 거부됩니다.
암호 인증 토큰 Aurora DSQL에는 수명이 긴 암호 대신 임시 인증 토큰이 필요합니다. 자세한 내용은 Amazon Aurora DSQL에서 인증 토큰 생성를 참조하세요.

연결할 때 Aurora DSQL에는 기존 암호 대신 서명된 IAM 인증 토큰이 필요합니다. 이러한 임시 토큰은 AWS 서명 버전 4를 사용하여 생성되며 연결 설정 중에만 사용됩니다. 연결되면 세션이 종료되거나 클라이언트 연결이 끊어질 때까지 세션이 활성 상태로 유지됩니다.

만료된 토큰으로 새 세션을 열려고 하면 연결 요청이 실패하고 새 토큰을 생성해야 합니다. 자세한 내용은 Amazon Aurora DSQL에서 인증 토큰 생성 섹션을 참조하세요.

지원되는 세션 파라미터

Aurora DSQL은 스토리지, 연결 관리 및 트랜잭션 처리를 자동으로 최적화하므로 특정 세션 파라미터 세트만 지원합니다. Aurora DSQL은 다음 표에 나열된 파라미터를 허용합니다. 이 표에 없는 파라미터를 사용하면 다음과 같은 오류가 반환됩니다.

ERROR: setting configuration parameter "parameter_name" not supported

Aurora DSQL은 다음과 같은 PostgreSQL 세션 파라미터를 지원합니다. 특별히 언급되지 않은 경우, SET, SET SESSION 또는 연결 문자열 옵션을 사용하여 이러한 파라미터를 설정할 수 있습니다. SET LOCAL를 사용하여 단일 트랜잭션 기간 동안 이러한 파라미터를 설정할 수도 있습니다. 파라미터를 기본값으로 복원하려면 RESET을 사용합니다.

지원되는 세션 파라미터
파라미터 범주 설명
application_name 클라이언트 식별 연결 메타데이터에 보고된 애플리케이션 이름을 설정합니다. 모니터링에서 연결을 식별하는 데 유용합니다.
client_encoding 현지화 클라이언트 측 문자 인코딩을 설정합니다. 데이터베이스는 내부적으로 UTF-8을 사용합니다.
datestyle 출력 형식 날짜와 시간 값의 표시 형식을 설정합니다(예: ISO, MDY).
extra_float_digits 출력 형식 부동 소수점으로 표시할 자릿수를 설정합니다. JDBC와 같은 일부 드라이버에서 이 파라미터를 사용합니다.
intervalstyle 출력 형식 간격 값에 대한 표시 형식을 설정합니다.
timezone 현지화 세션의 시간대를 설정합니다. Aurora DSQL은 모든 시간대 인식 날짜 및 시간을 UTC로 내부적으로 저장합니다. 이 파라미터는 Aurora DSQL이 클라이언트에 값을 표시하는 방법을 제어합니다.
search_path 스키마 확인 정규화되지 않은 객체 이름에 대한 스키마 검색 순서를 설정합니다.
enable_bitmapscan 쿼리 플래너 쿼리 플래너에서 비트맵 스캔 계획 유형의 사용을 활성화하거나 비활성화합니다.
enable_hashjoin 쿼리 플래너 쿼리 플래너에서 해시 조인 계획 유형의 사용을 활성화하거나 비활성화합니다.
enable_indexonlyscan 쿼리 플래너 쿼리 플래너에서 인덱스 전용 스캔 계획 유형의 사용을 활성화하거나 비활성화합니다.
enable_indexscan 쿼리 플래너 쿼리 플래너에서 인덱스 스캔 계획 유형의 사용을 활성화하거나 비활성화합니다.
enable_material 쿼리 플래너 쿼리 플래너에서 구체화 사용을 활성화하거나 비활성화합니다.
enable_mergejoin 쿼리 플래너 쿼리 플래너에서 병합 조인 계획 유형의 사용을 활성화하거나 비활성화합니다.
enable_nestloop 쿼리 플래너 쿼리 플래너에서 중첩 루프 조인 계획의 사용을 활성화하거나 비활성화합니다.
enable_seqscan 쿼리 플래너 쿼리 플래너에서 순차 스캔 계획 유형의 사용을 활성화하거나 비활성화합니다.
disable_sync_create_index Aurora DSQL 전용 CREATE INDEX가 비동기적으로 실행되는지 여부를 제어합니다. 기본값은 on입니다. 즉, Aurora DSQL은 인덱스를 비동기식으로 생성합니다. 빈 테이블에 동기식으로 인덱스를 생성하려면 off로 설정하세요.
role 세션 ID 현재 역할을 설정합니다. Aurora DSQL에서는 트랜잭션 블록 내에서 SET LOCAL을 사용해서만 이 파라미터를 설정할 수 있습니다.

Aurora DSQL은 데이터베이스의 다음 측면을 자동으로 관리하므로 해당 PostgreSQL 세션 파라미터를 구성할 필요가 없습니다.

  • 연결 및 네트워크 파라미터 - Aurora DSQL은 tcp_keepalives_idle, tcp_keepalives_interval, tcp_keepalives_count를 포함하여 연결 수명 주기 및 TCP 설정을 내부적으로 관리합니다.

  • 메모리 및 리소스 파라미터 - Aurora DSQL은 work_memshared_buffers를 포함하여 메모리 할당을 자동으로 관리합니다.

  • 제한 시간 파라미터 - Aurora DSQL은 statement_timeout, lock_timeout, idle_in_transaction_session_timeout을 포함하여 자체 트랜잭션 기간 제한을 적용합니다.

  • 복제 및 WAL 파라미터 - Aurora DSQL은 wal_levelsynchronous_commit을 포함하여 기본 제공 다중 리전 아키텍처를 통해 복제를 자동으로 처리합니다.

  • 로깅 파라미터 - Aurora DSQL은 log_statementclient_min_messages를 포함하여 로깅을 내부적으로 관리합니다.

  • 트랜잭션 파라미터 - Aurora DSQL은 모든 트랜잭션에 고정된 REPEATABLE READ 격리 수준을 사용합니다. 드라이버에서 격리 수준을 지정해야 하는 경우 BEGIN ISOLATION LEVEL REPEATABLE READ를 사용하세요.

SQL 클라이언트를 사용하여 Aurora DSQL에 액세스

Aurora DSQL은 클러스터에 연결하기 위해 여러 PostgreSQL 호환 클라이언트를 지원합니다. 다음 섹션에서는 AWS CloudShell 또는 로컬 명령줄과 함께 PostgreSQL을 사용하여 연결하는 방법과 DBeaver 및 JetBrains DataGrip과 같은 GUI 기반 도구를 설명합니다. 각 클라이언트에는 이전 섹션에 설명된 대로 유효한 인증 토큰이 필요합니다.

문제 해결

SQL 클라이언트의 인증 자격 증명 만료

설정된 세션은 최대 1시간 동안 또는 명시적 연결 해제나 클라이언트 측 제한 시간 초과가 발생할 때까지 인증된 상태로 유지됩니다. 새 연결을 설정해야 하는 경우 새 인증 토큰을 생성하여 연결의 암호 필드에 제공해야 합니다. 새 세션을 열려고 하면(예: 새 테이블 나열 또는 새 SQL 콘솔 열기) 새 인증 시도가 강제로 수행됩니다. 연결 설정에 구성된 인증 토큰이 더 이상 유효하지 않으면 새 세션이 실패하고 이전에 연 모든 세션이 무효화됩니다. 기본적으로 15분으로 설정할 수 있고 최대 값인 7일로 설정할 수 있는 expires-in 옵션을 사용하여 IAM 인증 토큰의 기간을 선택할 때는 이 점에 유의하세요.

또한 Aurora DSQL 설명서의 문제 해결 섹션을 참조하세요.