Skip to main content

개요

OneSignal + PostgreSQL 통합을 사용하면 PostgreSQL 데이터베이스에서 OneSignal로 사용자 지정 이벤트를 동기화하여 사용자 행동에 따라 자동화된 메시징 캠페인 및 Journey를 트리거할 수 있습니다.

요구 사항

PostgreSQL

  • PostgreSQL 9.6+ 또는 호환 가능한 데이터베이스
  • 적절한 권한이 있는 데이터베이스 사용자
  • OneSignal에서 PostgreSQL 인스턴스로의 네트워크 액세스
  • 구조화된 행동 데이터가 포함된 이벤트 테이블
OneSignal을 프로덕션 PostgreSQL 데이터베이스에 연결하는 것은 권장하지 않습니다. 이벤트 동기화 쿼리는 분석 특성이 있으며 프로덕션 성능에 영향을 줄 수 있습니다. 분석 워크로드용으로 설정된 데이터베이스에만 사용하세요.

설정

1

OneSignal용 전용 사용자 생성

적절한 권한이 있는 전용 사용자 계정을 생성하세요:
2

이벤트 데이터에 권한 부여

이벤트 데이터가 포함된 스키마에 대한 읽기 액세스를 제공하세요:
3

OneSignal에 연결

OneSignal에서 Data > Integrations으로 이동하여 Add Integration을 클릭합니다.
  1. 목록에서 PostgreSQL을 선택하세요
  2. 연결 세부 정보를 입력하세요:
    • Host: PostgreSQL 서버 호스트 이름
    • Port: 일반적으로 5432
    • Database: 데이터베이스 이름
    • Username: CENSUS
    • Password: 생성한 비밀번호
  3. 연결을 테스트하세요
  4. 이벤트 데이터가 포함된 테이블을 구성하세요

이벤트 데이터 매핑

를 OneSignal의 사용자 지정 이벤트 형식에 매핑합니다:
Sync Key는 동기화 중 각 행의 고유 식별자로 지정하는 열입니다. OneSignal은 이를 사용하여 행이 이미 처리되었는지 감지하므로, 데이터를 다시 동기화해도 중복 이벤트가 생성되지 않습니다. 행마다 고유한 텍스트 값을 가진 열을 선택하세요. 불리언 값이나 여러 행에서 반복되는 값은 사용하지 마세요.

예시 이벤트 테이블 스키마

SQL 쿼리 모드

사용자 지정 SQL 쿼리를 작성하여 이벤트 데이터를 변환하세요:

고급 네트워크 구성

OneSignal은 고급 네트워킹 제어를 사용하여 PostgreSQL 인스턴스에 연결할 수 있습니다:
  • IP 허용 목록: 방화벽 및 pg_hba.conf에 OneSignal의 IP 주소를 추가하세요
  • SSH 터널링: 프라이빗 네트워크를 위해 베스천 호스트를 통해 연결하세요
  • VPC 구성: 클라우드 환경 내에서 직접 연결하세요
  • TLS 암호화: SSL/TLS를 사용하여 안전한 연결을 구성하세요

SSH 터널 설정

프라이빗 네트워크의 PostgreSQL 인스턴스의 경우:
  1. SSH 사용자 생성: SSH 호스트에서 전용 사용자를 설정하세요
  2. 터널 구성: OneSignal 통합 설정에서 “Use SSH Tunnel”을 활성화하세요
  3. 키 페어 설치: OneSignal의 공개 키를 ~/.ssh/authorized_keys에 추가하세요
  4. 연결 테스트: 터널 연결을 확인하세요

참고 사항

  • 다중 스키마: 이벤트 데이터가 포함된 각 스키마에 대해 권한 부여를 반복하세요
  • 교차 스키마 참조가 있는 뷰: 이전 PostgreSQL 버전에서는 추가 읽기 권한이 필요할 수 있습니다
  • Azure PostgreSQL: Azure 인스턴스의 경우 username@hostname 형식을 사용하세요
  • AWS RDS: 표준 username 형식을 사용하세요
  • 성능: 대규모 이벤트 처리를 위해 읽기 복제본 사용을 고려하세요

제한 사항

  • 분석 쿼리 오버헤드로 인해 프로덕션 데이터베이스에 연결하지 마세요
  • 복잡한 교차 스키마 쿼리에는 추가 권한이 필요할 수 있습니다
  • 고빈도 이벤트 처리에는 연결 풀링을 권장합니다

FAQ

읽기 전용 모드를 사용해야 하나요?

더 간단한 설정을 선호하고 OneSignal이 테이블을 생성하도록 허용할 수 없는 경우 읽기 전용 모드를 사용하세요. 대규모 이벤트 데이터 세트로 더 나은 성능을 원하면 전체 모드를 사용하세요.

여러 이벤트 스키마를 어떻게 처리하나요?

이벤트 데이터가 포함된 각 스키마에 대해 권한 부여 명령을 반복하세요. OneSignal은 단일 연결 내에서 여러 스키마에서 읽을 수 있습니다.