PostgreSQL 인터페이스
NVMe 스토리지를 기반으로 하는 Managed Postgres 서비스를 확인하십시오. 이 스토리지는 컴퓨트와 물리적으로 함께 배치되어 EBS와 같은 네트워크 연결 스토리지를 사용하는 대안에 비해 디스크에 병목이 있는 워크로드에서 최대 10배 빠른 성능을 제공하며, Postgres CDC 커넥터를 사용하는 ClickPipes를 통해 Postgres 데이터를 ClickHouse로 복제할 수 있도록 합니다.
ClickHouse는 PostgreSQL 와이어 프로토콜을 지원하므로 Postgres 클라이언트를 사용하여 ClickHouse에 연결할 수 있습니다. 어떤 의미에서는 ClickHouse가 PostgreSQL 인스턴스로 동작할 수 있으므로, ClickHouse에서 아직 직접 지원하지 않는 PostgreSQL 클라이언트 애플리케이션(예: Amazon Redshift)을 ClickHouse에 연결할 수 있습니다.
PostgreSQL 와이어 프로토콜을 활성화하려면 서버의 구성 파일에 postgresql_port 설정을 추가하십시오. 예를 들어 config.d 폴더의 새 XML 파일에서 포트를 정의할 수 있습니다:
ClickHouse 서버를 기동한 다음, Listening for PostgreSQL compatibility protocol이라는 내용이 포함된 다음과 유사한 로그 메시지를 확인합니다:
psql을 ClickHouse에 연결하기
다음 명령은 PostgreSQL 클라이언트 psql을 ClickHouse에 연결하는 방법을 보여줍니다:
예를 들어:
psql 클라이언트는 비밀번호 기반 로그인이 필요하므로, 비밀번호가 없는 default 사용자로는 접속할 수 없습니다. default 사용자에 비밀번호를 설정하거나 다른 사용자로 로그인하십시오.
psql 클라이언트는 비밀번호 입력을 요청합니다.
이제 설정이 완료되었습니다! PostgreSQL 클라이언트가 ClickHouse에 연결되었으며, 모든 명령과 쿼리는 ClickHouse에서 실행됩니다.
PostgreSQL 프로토콜은 현재 평문(plain text) 암호만 지원합니다.
SSL 사용
ClickHouse 인스턴스에 SSL/TLS가 설정되어 있는 경우, postgresql_port는 동일한 설정을 사용합니다(보안 연결과 비보안 연결 모두에 동일한 포트를 사용합니다).
각 클라이언트마다 SSL을 사용해 연결하는 방식이 다릅니다. 다음 명령은 인증서와 키를 전달하여 psql을 ClickHouse에 안전하게 연결하는 방법을 보여줍니다:
SCRAM-SHA-256로 ClickHouse 사용자 인증 구성
ClickHouse에서 안전한 사용자 인증을 위해 SCRAM-SHA-256 프로토콜 사용을 권장합니다. users.xml 파일에서 password_scram_sha256_hex 요소를 지정하여 사용자를 구성합니다. 비밀번호 해시는 num_iterations=4096으로 생성해야 합니다.
연결 시 psql 클라이언트가 SCRAM-SHA-256을 지원하고 해당 방식으로 인증을 협상하도록 되어 있는지 확인합니다.
비밀번호 abacaba를 사용하는 사용자 user_with_sha256에 대한 예시 구성은 다음과 같습니다.
SSL 설정에 대한 자세한 내용은 PostgreSQL 문서를 참조하십시오.