---
title: Postmark
description: Postmark에 연결하고 동기화 동작을 파악하며 기록되는 모든 테이블과 열을 쿼리합니다.
species: reference
---
# Postmark

서버 및 계정 API 토큰을 사용해 Postmark에 연결합니다. 이 소스는 `titan.postmark` 아래에 고정 테이블 5개를 기록합니다.
```sql
select
  id,
  name,
  description
from titan.postmark.message_streams
limit 10
```

## Postmark 연결

1. **앱**을 열고 **앱 연결**을 선택한 뒤 **Postmark** 항목을 선택합니다.
2. 서버 및 계정 API 토큰을 입력합니다.
3. 테이블을 확인한 뒤 소스를 저장합니다.
4. 첫 실행이 완료될 때까지 **동기화 기록**을 확인합니다.

자격 증명은 비밀 정보로 저장됩니다. 레이크 열이 되거나 쿼리 결과에 나타나지 않습니다.

## 동기화 동작

메시지 스트림, 발신 메시지, 반송, 템플릿, 발신자 서명을 함께 동기화합니다.

새 소스는 연결할 때 동기화한 다음 설정된 일정을 따릅니다. 기본 반복 간격은 4시간입니다. 실행이 중단되어도 완료한 진행 상황을 유지하며 안전하게 재시도합니다.

모든 레이크 테이블에는 [시스템 열](/docs/concepts/your-lake#시스템-열)인 `_synced_at`과 `_deleted`도 있습니다. 아래 열 참조에는 소스 열만 나열합니다.

## 테이블 참조

### `message_streams`

`titan.postmark.message_streams`의 소스 열 수는 6개입니다.

```columns table=postmark.message_streams
id                                      string pk           `id` 소스 필드.
name                                    string              `name` 소스 필드.
description                             string              `description` 소스 필드.
message_stream_type                     string              `messageStreamType` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
updated_at                              datetime            `updatedAt` 소스 필드.
```

### `outbound_messages`

`titan.postmark.outbound_messages`의 소스 열 수는 8개입니다.

```columns table=postmark.outbound_messages
message_id                              string pk           `messageID` 소스 필드.
to                                      json                `to` 소스 필드.
from                                    string              `from` 소스 필드.
subject                                 string              `subject` 소스 필드.
status                                  string              `status` 소스 필드.
received_at                             datetime            `receivedAt` 소스 필드.
tag                                     string              `tag` 소스 필드.
message_stream                          string              `messageStream` 소스 필드.
```

### `bounces`

`titan.postmark.bounces`의 소스 열 수는 8개입니다.

```columns table=postmark.bounces
id                                      integer pk          `id` 소스 필드.
type                                    string              `type` 소스 필드.
message_id                              string              `messageID` 소스 필드.
description                             string              `description` 소스 필드.
bounced_at                              datetime            `bouncedAt` 소스 필드.
email                                   string              `email` 소스 필드.
subject                                 string              `subject` 소스 필드.
message_stream                          string              `messageStream` 소스 필드.
```

### `templates`

`titan.postmark.templates`의 소스 열 수는 5개입니다.

```columns table=postmark.templates
template_id                             integer pk          `templateId` 소스 필드.
name                                    string              `name` 소스 필드.
subject                                 string              `subject` 소스 필드.
active                                  boolean             `active` 소스 필드.
template_type                           string              `templateType` 소스 필드.
```

### `sender_signatures`

`titan.postmark.sender_signatures`의 소스 열 수는 5개입니다.

```columns table=postmark.sender_signatures
id                                      integer pk          `id` 소스 필드.
domain                                  string              `domain` 소스 필드.
email_address                           string              `emailAddress` 소스 필드.
confirmed                               boolean             `confirmed` 소스 필드.
created_at                              datetime            `createdAt` 소스 필드.
```

## 삭제와 이력

행은 소스 키로 병합됩니다. 소스에서 행 삭제를 입증할 수 있으면 Supernova는 행을 유지하고 `_deleted`를 설정합니다. 따라서 쿼리에서 이력을 포함할지 선택할 수 있습니다. 현재 상태를 조회하는 쿼리에는 `where not _deleted` 필터를 사용하세요.
