InfoGrab DocsInfoGrab Docs

Postgres 노드

요약

Postgres 노드를 사용하면 Postgres에서의 작업을 자동화하고, Postgres를 다른 애플리케이션과 연동할 수 있습니다. 이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 자료로 연결되는 링크를 확인할 수 있습니다.

Postgres 노드를 사용하면 Postgres에서의 작업을 자동화하고, Postgres를 다른 애플리케이션과 연동할 수 있습니다. n8n은 쿼리 실행은 물론 데이터베이스의 행 삽입 및 업데이트를 비롯한 다양한 Postgres 기능을 기본으로 지원합니다.

이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 자료로 연결되는 링크를 확인할 수 있습니다.

Note

자격 증명(Credentials)

인증 설정에 대한 안내는 Postgres 자격 증명을 참고하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

작업(Operations)#

  • Delete: 테이블 전체 또는 테이블의 행을 삭제합니다.
  • Execute Query: SQL 쿼리를 실행합니다.
  • Insert: 테이블에 행을 삽입합니다.
  • Insert or Update: 테이블의 행을 삽입하거나 업데이트합니다.
  • Select: 테이블에서 행을 조회합니다.
  • Update: 테이블의 행을 업데이트합니다.

Delete#

이 작업은 테이블 전체 또는 테이블의 행을 삭제할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Delete를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Command: 수행할 삭제 동작입니다.
    • Truncate: 테이블의 데이터를 제거하지만 테이블 구조는 유지합니다.
      • Restart Sequences: Truncate 과정의 일부로 자동 증가 열을 초기값으로 재설정할지 여부입니다.
    • Delete: "Select Rows" 조건에 일치하는 행을 삭제합니다. 아무것도 선택하지 않으면 Postgres가 모든 행을 삭제합니다.
      • Select Rows: 행을 매칭할 Column, Operator, Value를 정의합니다.
      • Combine Conditions: "Select Rows"의 조건을 결합하는 방식입니다. AND는 모든 조건이 참이어야 하며, OR는 하나 이상의 조건이 참이면 됩니다.
    • Drop: 테이블의 데이터와 구조를 영구적으로 삭제합니다.

Delete 옵션#

  • Cascade: 뷰(view)나 시퀀스(sequence)처럼 해당 테이블에 의존하는 모든 객체도 함께 삭제할지 여부입니다. Truncate 또는 Drop 명령을 사용할 때 이용할 수 있습니다.
  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.

Execute Query#

이 작업은 SQL 쿼리를 실행할 때 사용합니다.

다음 매개변수를 입력합니다.

Execute Query 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Query Parameters: 쿼리 매개변수로 사용할 값들의 쉼표로 구분된 목록입니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.
  • Replace Empty Strings with NULL: 입력의 빈 문자열을 NULL로 대체할지 여부입니다. 스프레드시트 소프트웨어에서 내보낸 데이터를 다룰 때 유용할 수 있습니다.

Insert#

이 작업은 테이블에 행을 삽입할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Insert를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방식입니다.
    • Map Each Column Manually: 각 열에 사용할 값을 직접 선택합니다.
    • Map Automatically: 들어오는 데이터를 Postgres의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 동작하려면 들어오는 데이터의 필드 이름이 Postgres의 열 이름과 일치해야 합니다. 필요하다면 이 노드 앞에 edit fields (set) 노드를 사용해 형식을 알맞게 조정하는 것을 고려하세요.

Insert 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용해 ID를 지정할 수 있습니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.
  • Skip on Conflict: 삽입이 고유(unique) 또는 제외(exclusion) 제약 조건을 위반하는 경우 오류를 발생시키지 않고 해당 행을 건너뛸지 여부입니다.
  • Replace Empty Strings with NULL: 입력의 빈 문자열을 NULL로 대체할지 여부입니다. 스프레드시트 소프트웨어에서 내보낸 데이터를 다룰 때 유용할 수 있습니다.

Insert or Update#

이 작업은 테이블의 행을 삽입하거나 업데이트할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Insert or Update를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방식입니다.
    • Map Each Column Manually: 각 열에 사용할 값을 직접 선택합니다.
    • Map Automatically: 들어오는 데이터를 Postgres의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 동작하려면 들어오는 데이터의 필드 이름이 Postgres의 열 이름과 일치해야 합니다. 필요하다면 이 노드 앞에 edit fields (set) 노드를 사용해 형식을 알맞게 조정하는 것을 고려하세요.

Insert or Update 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용해 ID를 지정할 수 있습니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.
  • Replace Empty Strings with NULL: 입력의 빈 문자열을 NULL로 대체할지 여부입니다. 스프레드시트 소프트웨어에서 내보낸 데이터를 다룰 때 유용할 수 있습니다.

Select#

이 작업은 테이블에서 행을 조회할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Select를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Return All: 모든 결과를 반환할지, 지정한 한도까지만 반환할지 여부입니다.
  • Limit: Return All이 비활성화되었을 때 반환할 최대 항목 수입니다.
  • Select Rows: 행을 조회할 조건을 설정합니다. 행을 매칭할 Column, Operator, Value를 정의합니다. 아무것도 선택하지 않으면 Postgres가 모든 행을 조회합니다.
  • Combine Conditions: Select Rows의 조건을 결합하는 방식입니다. AND는 모든 조건이 참이어야 하며, OR는 하나 이상의 조건이 참이면 됩니다.
  • Sort: 조회된 행을 정렬하는 방식을 선택합니다. 목록이나 ID로 Column을 선택하고 정렬 Direction을 선택합니다.

Select 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용해 ID를 지정할 수 있습니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.

Update#

이 작업은 테이블의 행을 업데이트할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Update를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방식입니다.
    • Map Each Column Manually: 각 열에 사용할 값을 직접 선택합니다.
    • Map Automatically: 들어오는 데이터를 Postgres의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 동작하려면 들어오는 데이터의 필드 이름이 Postgres의 열 이름과 일치해야 합니다. 필요하다면 이 노드 앞에 edit fields (set) 노드를 사용해 형식을 알맞게 조정하는 것을 고려하세요.

Update 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용해 ID를 지정할 수 있습니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.
  • Replace Empty Strings with NULL: 입력의 빈 문자열을 NULL로 대체할지 여부입니다. 스프레드시트 소프트웨어에서 내보낸 데이터를 다룰 때 유용할 수 있습니다.

템플릿 및 예제#

n8n-nodes-base.postgres 연동 템플릿 살펴보기 또는 모든 템플릿 검색하기

관련 자료#

n8n은 Postgres용 트리거 노드를 제공합니다. 트리거 노드 문서는 여기에서 확인할 수 있습니다.

쿼리 매개변수 사용하기#

Postgres 데이터베이스에서 실행할 쿼리를 작성할 때, Options 섹션의 Query Parameters 필드를 사용해 쿼리에 데이터를 불러올 수 있습니다. n8n은 쿼리 매개변수의 데이터를 정제(sanitize)하여 SQL 인젝션을 방지합니다.

예를 들어, 이메일 주소로 특정 사람을 찾으려고 한다고 가정합니다. 다음과 같은 입력 데이터가 주어졌을 때:

[
    {
        "email": "alex@example.com",
        "name": "Alex",
        "age": 21 
    },
    {
        "email": "jamie@example.com",
        "name": "Jamie",
        "age": 33 
    }
]

다음과 같은 쿼리를 작성할 수 있습니다:

SELECT * FROM $1:name WHERE email = $2;

그런 다음 Query Parameters에 사용할 필드 값을 제공합니다. 고정 값이나 표현식을 제공할 수 있습니다. 이 예시에서는 노드가 각 입력 항목에서 이메일 주소를 차례로 가져올 수 있도록 표현식을 사용합니다:

// users is an example table name
{{ [ 'users', $json.email ] }} 

공통 문제#

자주 묻는 질문이나 문제와 권장 해결 방법은 공통 문제를 참고하세요.

Postgres 노드

n8n v2.29
원문 보기
요약

Postgres 노드를 사용하면 Postgres에서의 작업을 자동화하고, Postgres를 다른 애플리케이션과 연동할 수 있습니다. 이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 자료로 연결되는 링크를 확인할 수 있습니다.

Postgres 노드를 사용하면 Postgres에서의 작업을 자동화하고, Postgres를 다른 애플리케이션과 연동할 수 있습니다. n8n은 쿼리 실행은 물론 데이터베이스의 행 삽입 및 업데이트를 비롯한 다양한 Postgres 기능을 기본으로 지원합니다.

이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 자료로 연결되는 링크를 확인할 수 있습니다.

Note

자격 증명(Credentials)

인증 설정에 대한 안내는 Postgres 자격 증명을 참고하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

작업(Operations)#

  • Delete: 테이블 전체 또는 테이블의 행을 삭제합니다.
  • Execute Query: SQL 쿼리를 실행합니다.
  • Insert: 테이블에 행을 삽입합니다.
  • Insert or Update: 테이블의 행을 삽입하거나 업데이트합니다.
  • Select: 테이블에서 행을 조회합니다.
  • Update: 테이블의 행을 업데이트합니다.

Delete#

이 작업은 테이블 전체 또는 테이블의 행을 삭제할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Delete를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Command: 수행할 삭제 동작입니다.
    • Truncate: 테이블의 데이터를 제거하지만 테이블 구조는 유지합니다.
      • Restart Sequences: Truncate 과정의 일부로 자동 증가 열을 초기값으로 재설정할지 여부입니다.
    • Delete: "Select Rows" 조건에 일치하는 행을 삭제합니다. 아무것도 선택하지 않으면 Postgres가 모든 행을 삭제합니다.
      • Select Rows: 행을 매칭할 Column, Operator, Value를 정의합니다.
      • Combine Conditions: "Select Rows"의 조건을 결합하는 방식입니다. AND는 모든 조건이 참이어야 하며, OR는 하나 이상의 조건이 참이면 됩니다.
    • Drop: 테이블의 데이터와 구조를 영구적으로 삭제합니다.

Delete 옵션#

  • Cascade: 뷰(view)나 시퀀스(sequence)처럼 해당 테이블에 의존하는 모든 객체도 함께 삭제할지 여부입니다. Truncate 또는 Drop 명령을 사용할 때 이용할 수 있습니다.
  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.

Execute Query#

이 작업은 SQL 쿼리를 실행할 때 사용합니다.

다음 매개변수를 입력합니다.

Execute Query 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Query Parameters: 쿼리 매개변수로 사용할 값들의 쉼표로 구분된 목록입니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.
  • Replace Empty Strings with NULL: 입력의 빈 문자열을 NULL로 대체할지 여부입니다. 스프레드시트 소프트웨어에서 내보낸 데이터를 다룰 때 유용할 수 있습니다.

Insert#

이 작업은 테이블에 행을 삽입할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Insert를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방식입니다.
    • Map Each Column Manually: 각 열에 사용할 값을 직접 선택합니다.
    • Map Automatically: 들어오는 데이터를 Postgres의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 동작하려면 들어오는 데이터의 필드 이름이 Postgres의 열 이름과 일치해야 합니다. 필요하다면 이 노드 앞에 edit fields (set) 노드를 사용해 형식을 알맞게 조정하는 것을 고려하세요.

Insert 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용해 ID를 지정할 수 있습니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.
  • Skip on Conflict: 삽입이 고유(unique) 또는 제외(exclusion) 제약 조건을 위반하는 경우 오류를 발생시키지 않고 해당 행을 건너뛸지 여부입니다.
  • Replace Empty Strings with NULL: 입력의 빈 문자열을 NULL로 대체할지 여부입니다. 스프레드시트 소프트웨어에서 내보낸 데이터를 다룰 때 유용할 수 있습니다.

Insert or Update#

이 작업은 테이블의 행을 삽입하거나 업데이트할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Insert or Update를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방식입니다.
    • Map Each Column Manually: 각 열에 사용할 값을 직접 선택합니다.
    • Map Automatically: 들어오는 데이터를 Postgres의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 동작하려면 들어오는 데이터의 필드 이름이 Postgres의 열 이름과 일치해야 합니다. 필요하다면 이 노드 앞에 edit fields (set) 노드를 사용해 형식을 알맞게 조정하는 것을 고려하세요.

Insert or Update 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용해 ID를 지정할 수 있습니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.
  • Replace Empty Strings with NULL: 입력의 빈 문자열을 NULL로 대체할지 여부입니다. 스프레드시트 소프트웨어에서 내보낸 데이터를 다룰 때 유용할 수 있습니다.

Select#

이 작업은 테이블에서 행을 조회할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Select를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Return All: 모든 결과를 반환할지, 지정한 한도까지만 반환할지 여부입니다.
  • Limit: Return All이 비활성화되었을 때 반환할 최대 항목 수입니다.
  • Select Rows: 행을 조회할 조건을 설정합니다. 행을 매칭할 Column, Operator, Value를 정의합니다. 아무것도 선택하지 않으면 Postgres가 모든 행을 조회합니다.
  • Combine Conditions: Select Rows의 조건을 결합하는 방식입니다. AND는 모든 조건이 참이어야 하며, OR는 하나 이상의 조건이 참이면 됩니다.
  • Sort: 조회된 행을 정렬하는 방식을 선택합니다. 목록이나 ID로 Column을 선택하고 정렬 Direction을 선택합니다.

Select 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용해 ID를 지정할 수 있습니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.

Update#

이 작업은 테이블의 행을 업데이트할 때 사용합니다.

다음 매개변수를 입력합니다.

  • Credential to connect with: Postgres 자격 증명을 새로 만들거나 기존 자격 증명을 선택합니다.
  • Operation: Update를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. 드롭다운 목록에서 스키마를 선택하려면 From list를, 스키마 이름을 직접 입력하려면 By Name을 선택합니다.
  • Table: 작업할 테이블을 선택합니다. 드롭다운 목록에서 테이블을 선택하려면 From list를, 테이블 이름을 직접 입력하려면 By Name을 선택합니다.
  • Mapping Column Mode: 열 이름을 들어오는 데이터에 매핑하는 방식입니다.
    • Map Each Column Manually: 각 열에 사용할 값을 직접 선택합니다.
    • Map Automatically: 들어오는 데이터를 Postgres의 일치하는 열 이름에 자동으로 매핑합니다. 이 기능이 동작하려면 들어오는 데이터의 필드 이름이 Postgres의 열 이름과 일치해야 합니다. 필요하다면 이 노드 앞에 edit fields (set) 노드를 사용해 형식을 알맞게 조정하는 것을 고려하세요.

Update 옵션#

  • Connection Timeout: 데이터베이스에 연결을 시도하는 시간(초)입니다.
  • Delay Closing Idle Connection: 유휴 연결을 닫을 수 있는 대상으로 간주하기 전에 대기하는 시간(초)입니다.
  • Query Batching: 데이터베이스로 쿼리를 전송하는 방식입니다.
    • Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
    • Independently: 실행에 들어오는 항목마다 쿼리를 하나씩 실행합니다.
    • Transaction: 모든 쿼리를 하나의 트랜잭션으로 실행합니다. 실패가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
  • Output Columns: 출력할 열을 선택합니다. 사용 가능한 열 목록에서 선택하거나 표현식(expressions)을 사용해 ID를 지정할 수 있습니다.
  • Output Large-Format Numbers As: NUMERICBIGINT 열을 출력할 형식입니다.
    • Numbers: 일반적인 숫자에 사용합니다.
    • Text: 16자리를 초과하는 숫자가 예상되는 경우 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확해질 수 있습니다.
  • Replace Empty Strings with NULL: 입력의 빈 문자열을 NULL로 대체할지 여부입니다. 스프레드시트 소프트웨어에서 내보낸 데이터를 다룰 때 유용할 수 있습니다.

템플릿 및 예제#

n8n-nodes-base.postgres 연동 템플릿 살펴보기 또는 모든 템플릿 검색하기

관련 자료#

n8n은 Postgres용 트리거 노드를 제공합니다. 트리거 노드 문서는 여기에서 확인할 수 있습니다.

쿼리 매개변수 사용하기#

Postgres 데이터베이스에서 실행할 쿼리를 작성할 때, Options 섹션의 Query Parameters 필드를 사용해 쿼리에 데이터를 불러올 수 있습니다. n8n은 쿼리 매개변수의 데이터를 정제(sanitize)하여 SQL 인젝션을 방지합니다.

예를 들어, 이메일 주소로 특정 사람을 찾으려고 한다고 가정합니다. 다음과 같은 입력 데이터가 주어졌을 때:

[
    {
        "email": "alex@example.com",
        "name": "Alex",
        "age": 21 
    },
    {
        "email": "jamie@example.com",
        "name": "Jamie",
        "age": 33 
    }
]

다음과 같은 쿼리를 작성할 수 있습니다:

SELECT * FROM $1:name WHERE email = $2;

그런 다음 Query Parameters에 사용할 필드 값을 제공합니다. 고정 값이나 표현식을 제공할 수 있습니다. 이 예시에서는 노드가 각 입력 항목에서 이메일 주소를 차례로 가져올 수 있도록 표현식을 사용합니다:

// users is an example table name
{{ [ 'users', $json.email ] }} 

공통 문제#

자주 묻는 질문이나 문제와 권장 해결 방법은 공통 문제를 참고하세요.