다음 섹션에서는 자체 관리형 PostgreSQL 데이터베이스를 구성하는 방법을 설명합니다.
데이터베이스에서 논리적 복제 사용 설정
postgresql.conf
파일에wal_level=logical
을 추가하여 데이터베이스에서wal_level
매개변수를 설정합니다.서버를 다시 시작합니다.
게시 및 복제 슬롯 만들기
PostgreSQL 콘솔에 수퍼유저로 로그인합니다.
게시 만들기. 복제할 테이블에 대해서만 게시를 만드는 것이 좋습니다. 이렇게 하면 Datastream이 관련 데이터만 읽을 수 있고 데이터베이스와 Datastream의 부하가 줄어듭니다.
CREATE PUBLICATION PUBLICATION_NAME FOR TABLE SCHEMA1.TABLE1, SCHEMA2.TABLE2;
다음을 바꿉니다.
- PUBLICATION_NAME: 게시의 이름입니다. Datastream 스트림 만들기 마법사에서 스트림을 만들 때 이 이름을 제공해야 합니다.
- SCHEMA: 테이블이 포함된 스키마의 이름입니다.
- TABLE: 복제할 테이블의 이름입니다.
스키마의 모든 테이블에 대한 게시를 만들 수 있습니다. 이 방식을 사용하면 이후에 만들 테이블을 포함하여 지정된 스키마 목록에 있는 테이블의 변경사항을 복제할 수 있습니다.
CREATE PUBLICATION PUBLICATION_NAME FOR TABLES IN SCHEMA1, SCHEMA2;
데이터베이스의 모든 테이블에 대한 게시를 만들 수도 있습니다. 이 경우 소스 데이터베이스와 Datastream의 부하가 증가합니다.
CREATE PUBLICATION PUBLICATION_NAME FOR ALL TABLES;
다음 SQL 명령어를 입력하여 복제 슬롯을 만듭니다.
SELECT PG_CREATE_LOGICAL_REPLICATION_SLOT('REPLICATION_SLOT_NAME', 'pgoutput');
다음을 바꿉니다.
- REPLICATION_SLOT_NAME: 복제 슬롯 이름입니다. Datastream 스트림 만들기 마법사에서 스트림을 만들 때 이 이름을 제공해야 합니다.
Datastream 사용자 만들기
Datastream 사용자를 만들려면 다음 SQL 명령어를 입력합니다.
CREATE USER USER_NAME WITH ENCRYPTED PASSWORD 'USER_PASSWORD';
다음을 바꿉니다.
- USER_NAME: 만들려는 Datastream 사용자의 이름입니다.
- USER_PASSWORD: 만들려는 Datastream 사용자의 로그인 비밀번호입니다.
자신이 만든 사용자에게 다음 권한을 부여합니다.
ALTER ROLE USER_NAME WITH REPLICATION; GRANT SELECT ON ALL TABLES IN SCHEMA SCHEMA_NAME TO USER_NAME; GRANT USAGE ON SCHEMA SCHEMA_NAME TO USER_NAME; ALTER DEFAULT PRIVILEGES IN SCHEMA SCHEMA_NAME GRANT SELECT ON TABLES TO USER_NAME;
다음을 바꿉니다.
- USER_NAME: 권한을 부여하려는 사용자입니다.
- SCHEMA_NAME: 권한을 부여할 스키마의 이름입니다.
다음 단계
- Datastream이 PostgreSQL 소스와 어떻게 작동하는지 자세히 알아보세요