개요
OneSignal + PostgreSQL 통합을 사용하면 PostgreSQL 데이터베이스에서 OneSignal로 사용자 지정 이벤트를 동기화하여 사용자 행동에 따라 자동화된 메시징 캠페인 및 Journey를 트리거할 수 있습니다.요구 사항
- Access to Event Streams for outbound message events (Plan limitations and overages apply)
- Access to Custom Events for inbound event syncing (Plan limitations and overages apply)
- Updated Account Plan (not available on free apps)
PostgreSQL
- PostgreSQL 9.6+ 또는 호환 가능한 데이터베이스
- 적절한 권한이 있는 데이터베이스 사용자
- OneSignal에서 PostgreSQL 인스턴스로의 네트워크 액세스
- 구조화된 행동 데이터가 포함된 이벤트 테이블
OneSignal을 프로덕션 PostgreSQL 데이터베이스에 연결하는 것은 권장하지 않습니다. 이벤트 동기화 쿼리는 분석 특성이 있으며 프로덕션 성능에 영향을 줄 수 있습니다. 분석 워크로드용으로 설정된 데이터베이스에만 사용하세요.
설정
1
OneSignal용 전용 사용자 생성
적절한 권한이 있는 전용 사용자 계정을 생성하세요:
2
이벤트 데이터에 권한 부여
이벤트 데이터가 포함된 스키마에 대한 읽기 액세스를 제공하세요:
3
OneSignal에 연결
OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.
- 목록에서 PostgreSQL을 선택하세요
- 연결 세부 정보를 입력하세요:
- Host: PostgreSQL 서버 호스트 이름
- Port: 일반적으로 5432
- Database: 데이터베이스 이름
- Username:
CENSUS - Password: 생성한 비밀번호
- 연결을 테스트하세요
- 이벤트 데이터가 포함된 테이블을 구성하세요
이벤트 데이터 매핑
를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:| OneSignal 필드 | 설명 | 필수 | |
|---|---|---|---|
name | event_name | 이벤트 식별자 | Yes |
external_id | user_id | 사용자 식별자 | Yes |
timestamp | event_timestamp | 이벤트가 발생한 시간 | No |
properties | event_data | No |
예시 이벤트 테이블 스키마
SQL 쿼리 모드
사용자 지정 SQL 쿼리를 작성하여 이벤트 데이터를 변환하세요:고급 네트워크 구성
OneSignal은 고급 네트워킹 제어를 사용하여 PostgreSQL 인스턴스에 연결할 수 있습니다:- IP 허용 목록: 방화벽 및
pg_hba.conf에 OneSignal의 IP 주소를 추가하세요 - SSH 터널링: 프라이빗 네트워크를 위해 베스천 호스트를 통해 연결하세요
- VPC 구성: 클라우드 환경 내에서 직접 연결하세요
- TLS 암호화: SSL/TLS를 사용하여 안전한 연결을 구성하세요
SSH 터널 설정
프라이빗 네트워크의 PostgreSQL 인스턴스의 경우:- SSH 사용자 생성: SSH 호스트에서 전용 사용자를 설정하세요
- 터널 구성: OneSignal 통합 설정에서 “Use SSH Tunnel”을 활성화하세요
- 키 페어 설치: OneSignal의 공개 키를
~/.ssh/authorized_keys에 추가하세요 - 연결 테스트: 터널 연결을 확인하세요
참고 사항
- 다중 스키마: 이벤트 데이터가 포함된 각 스키마에 대해 권한 부여를 반복하세요
- 교차 스키마 참조가 있는 뷰: 이전 PostgreSQL 버전에서는 추가 읽기 권한이 필요할 수 있습니다
- Azure PostgreSQL: Azure 인스턴스의 경우
username@hostname형식을 사용하세요 - AWS RDS: 표준
username형식을 사용하세요 - 성능: 대규모 이벤트 처리를 위해 읽기 복제본 사용을 고려하세요
제한 사항
- 분석 쿼리 오버헤드로 인해 프로덕션 데이터베이스에 연결하지 마세요
- 복잡한 교차 스키마 쿼리에는 추가 권한이 필요할 수 있습니다
- 고빈도 이벤트 처리에는 연결 풀링을 권장합니다