Postgres 노드 문서
Postgres 노드를 사용하여 Postgres 작업을 자동화하고, Postgres를 다른 애플리케이션과 통합하세요. 이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 리소스 링크를 확인할 수 있습니다.
Postgres 노드를 사용하여 Postgres 작업을 자동화하고, Postgres를 다른 애플리케이션과 통합하세요. n8n은 쿼리 실행, 데이터베이스 행 삽입 및 업데이트 등 다양한 Postgres 기능을 기본으로 지원합니다.
이 페이지에서는 Postgres 노드가 지원하는 작업 목록과 추가 리소스 링크를 확인할 수 있습니다.
인증 설정에 대한 안내는 Postgres 자격 증명을 참조하세요.
이 노드는 AI 에이전트의 기능을 강화하는 데 사용할 수 있습니다. 이 방식으로 사용하면 많은 파라미터를 자동으로 설정하거나 AI가 제공하는 정보로 설정할 수 있습니다. 자세한 내용은 AI 도구 파라미터 문서를 참조하세요.
작업(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 과정에서 자동 증가(auto increment) 컬럼을 초기값으로 재설정할지 여부입니다.
- Delete: "Select Rows" 조건에 일치하는 행을 삭제합니다. 아무것도 선택하지 않으면 Postgres가 모든 행을 삭제합니다.
- Select Rows: 행을 매칭할 Column, Operator, Value를 정의합니다.
- Combine Conditions: "Select Rows"의 조건을 결합하는 방법입니다. AND는 모든 조건이 참이어야 하고, OR는 하나 이상의 조건이 참이어야 합니다.
- Drop: 테이블의 데이터와 구조를 영구적으로 삭제합니다.
- Truncate: 테이블의 데이터를 제거하되 테이블 구조는 유지합니다.
Delete 옵션#
- Cascade: 테이블에 의존하는 뷰(view)나 시퀀스(sequence) 등 모든 객체도 함께 삭제할지 여부입니다. Truncate 또는 Drop 명령을 사용할 때만 사용 가능합니다.
- Connection Timeout: 데이터베이스 연결 시도 제한 시간(초)입니다.
- Delay Closing Idle Connection: 유휴 연결을 닫기 전 대기 시간(초)입니다.
- Query Batching: 데이터베이스에 쿼리를 전송하는 방식:
- Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
- Independently: 실행 중 들어오는 각 항목마다 하나의 쿼리를 실행합니다.
- Transaction: 모든 쿼리를 트랜잭션으로 실행합니다. 오류가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
- Output Large-Format Numbers As:
NUMERIC및BIGINT컬럼의 출력 형식:- Numbers: 표준 숫자에 사용합니다.
- Text: 16자리를 초과하는 숫자가 예상될 때 사용합니다. 이 옵션을 사용하지 않으면 숫자가 부정확할 수 있습니다.
Execute Query#
이 작업을 사용하여 SQL 쿼리를 실행합니다.
다음 파라미터를 입력합니다:
- Credential to connect with: 기존 Postgres 자격 증명을 생성하거나 선택합니다.
- Operation: Execute Query를 선택합니다.
- Query: 실행할 SQL 쿼리입니다. n8n 표현식(expressions)과
$1,$2,$3같은 토큰을 사용하여 query parameters와 함께 사용할 prepared statements를 작성할 수 있습니다.
Execute Query 옵션#
- Connection Timeout: 데이터베이스 연결 시도 제한 시간(초)입니다.
- Delay Closing Idle Connection: 유휴 연결을 닫기 전 대기 시간(초)입니다.
- Query Batching: 데이터베이스에 쿼리를 전송하는 방식:
- Single Query: 들어오는 모든 항목에 대해 단일 쿼리를 실행합니다.
- Independently: 실행 중 들어오는 각 항목마다 하나의 쿼리를 실행합니다.
- Transaction: 모든 쿼리를 트랜잭션으로 실행합니다. 오류가 발생하면 Postgres가 모든 변경 사항을 롤백합니다.
- Query Parameters: query parameters로 사용할 값의 쉼표로 구분된 목록입니다.
- Output Large-Format Numbers As:
NUMERIC및BIGINT컬럼의 출력 형식:- 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:
NUMERIC및BIGINT컬럼의 출력 형식:- 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:
NUMERIC및BIGINT컬럼의 출력 형식:- 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:
NUMERIC및BIGINT컬럼의 출력 형식:- 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:
NUMERIC및BIGINT컬럼의 출력 형식:- 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 ] }}
일반적인 문제#
자주 묻는 질문이나 문제 및 해결 방법은 일반적인 문제를 참조하세요.
