InfoGrab Docs

Postgres 노드 문서

요약

Postgres 노드를 사용하여 Postgres 작업을 자동화하고, Postgres를 다른 애플리케이션과 통합하세요. 이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 리소스 링크를 확인할 수 있습니다.

Postgres 노드를 사용하여 Postgres 작업을 자동화하고, Postgres를 다른 애플리케이션과 통합하세요. n8n은 쿼리 실행, 데이터베이스 행 삽입 및 업데이트 등 다양한 Postgres 기능을 기본으로 지원합니다.

이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 리소스 링크를 확인할 수 있습니다.

자격 증명(Credentials)

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

이 노드는 AI 도구로 사용할 수 있습니다

이 노드는 AI 에이전트의 기능을 강화하는 데 사용할 수 있습니다. 이 방식으로 사용하면 많은 파라미터를 자동으로 설정하거나 AI가 제공하는 정보로 설정할 수 있습니다. 자세한 내용은 AI 도구 파라미터 문서를 참조하세요.

작업(Operations)#

Delete#

이 작업을 사용하여 테이블 전체 또는 테이블 내 행을 삭제합니다.

다음 파라미터를 입력합니다:

  • Credential to connect with: 기존 Postgres 자격 증명을 생성하거나 선택합니다.
  • Operation: Delete를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. From list를 선택하면 드롭다운 목록에서 스키마를 선택하고, By Name을 선택하면 스키마 이름을 직접 입력합니다.
  • Table: 작업할 테이블을 선택합니다. From list를 선택하면 드롭다운 목록에서 테이블을 선택하고, By Name을 선택하면 테이블 이름을 직접 입력합니다.
  • Command: 수행할 삭제 작업:
    • Truncate: 테이블의 데이터를 제거하되 테이블 구조는 유지합니다.
      • Restart Sequences: Truncate 과정에서 자동 증가(auto increment) 컬럼을 초기값으로 재설정할지 여부입니다.
    • 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: 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 워크플로 템플릿 갤러리에서 확인할 수 있습니다.

관련 리소스#

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

Query parameters 사용하기#

Postgres 데이터베이스에서 실행할 쿼리를 작성할 때 Options 섹션의 Query Parameters 필드를 사용하여 쿼리에 데이터를 로드할 수 있습니다. n8n은 query parameters의 데이터를 검증(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는 예시 테이블 이름입니다
{{ [ 'users', $json.email ] }}

일반적인 문제#

자주 묻는 질문이나 문제 및 해결 방법은 일반적인 문제를 참조하세요.

Postgres 노드 문서

원문 보기
요약

Postgres 노드를 사용하여 Postgres 작업을 자동화하고, Postgres를 다른 애플리케이션과 통합하세요. 이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 리소스 링크를 확인할 수 있습니다.

Postgres 노드를 사용하여 Postgres 작업을 자동화하고, Postgres를 다른 애플리케이션과 통합하세요. n8n은 쿼리 실행, 데이터베이스 행 삽입 및 업데이트 등 다양한 Postgres 기능을 기본으로 지원합니다.

이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 리소스 링크를 확인할 수 있습니다.

자격 증명(Credentials)

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

이 노드는 AI 도구로 사용할 수 있습니다

이 노드는 AI 에이전트의 기능을 강화하는 데 사용할 수 있습니다. 이 방식으로 사용하면 많은 파라미터를 자동으로 설정하거나 AI가 제공하는 정보로 설정할 수 있습니다. 자세한 내용은 AI 도구 파라미터 문서를 참조하세요.

작업(Operations)#

Delete#

이 작업을 사용하여 테이블 전체 또는 테이블 내 행을 삭제합니다.

다음 파라미터를 입력합니다:

  • Credential to connect with: 기존 Postgres 자격 증명을 생성하거나 선택합니다.
  • Operation: Delete를 선택합니다.
  • Schema: 작업할 테이블이 포함된 스키마를 선택합니다. From list를 선택하면 드롭다운 목록에서 스키마를 선택하고, By Name을 선택하면 스키마 이름을 직접 입력합니다.
  • Table: 작업할 테이블을 선택합니다. From list를 선택하면 드롭다운 목록에서 테이블을 선택하고, By Name을 선택하면 테이블 이름을 직접 입력합니다.
  • Command: 수행할 삭제 작업:
    • Truncate: 테이블의 데이터를 제거하되 테이블 구조는 유지합니다.
      • Restart Sequences: Truncate 과정에서 자동 증가(auto increment) 컬럼을 초기값으로 재설정할지 여부입니다.
    • 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: 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 워크플로 템플릿 갤러리에서 확인할 수 있습니다.

관련 리소스#

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

Query parameters 사용하기#

Postgres 데이터베이스에서 실행할 쿼리를 작성할 때 Options 섹션의 Query Parameters 필드를 사용하여 쿼리에 데이터를 로드할 수 있습니다. n8n은 query parameters의 데이터를 검증(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는 예시 테이블 이름입니다
{{ [ 'users', $json.email ] }}

일반적인 문제#

자주 묻는 질문이나 문제 및 해결 방법은 일반적인 문제를 참조하세요.