Postgres 노드 일반적인 문제
n8n 워크플로우 자동화 플랫폼의 Postgres 노드에서 발생하는 일반적인 문제와 질문에 대한 문서입니다. 문제 내용과 해결 방법을 설명합니다.
Postgres 노드 에서 발생하는 일반적인 오류와 문제, 그리고 해결 또는 트러블슈팅 방법을 설명합니다. SQL IN 그룹에 파라미터로 동적 값 채우기 # Postgres에서는 SQL IN 비교 구문 을 사용하여 값 그룹 간 비교를 수행할 수 있습니다: SELECT color, shirt_size FROM shirts WHERE shirt_size IN ( 'small' , 'medium' , 'large' ); 쿼리에서 n8n 표현식(expressions) 을 사용해 IN 그룹의 값을 동적으로 채울 수 있습니다. 여기에 쿼리 파라미터(query parameters) 를 함께 활용하면 입력값을 자동으로 검증하여 추가적인 보안을 제공합니다. 쿼리 파라미터를 사용하여 IN 그룹 쿼리를 구성하는 방법: Operation 을 Execute Query 로 설정합니다. Options 에서 Query Parameters 를 선택합니다. 표현식을 사용하여 입력 데이터에서 배열을 선택합니다. 예: {{ $json.input_shirt_sizes }} . Query 파라미터에서 빈 괄호를 포함한 IN 구문으로 쿼리를 작성합니다. 예: SELECT color, shirt_size FROM shirts WHERE shirt_size IN (); IN 괄호 안에 표현식을 사용하여 쿼리 파라미터 배열의 항목 수에 맞는 인덱스 기반 플레이스홀더(예: $1 , $2 , $3 )를 동적으로 생성합니다. 플레이스홀더 변수는 1부터 시작하므로 각 배열 인덱스에 1을 더하면 됩니다: SELECT color, shirt_size FROM shirts WHERE shirt_size IN ({{ $json.input_shirt_sizes.map((i, pos) = > "$" + (pos + 1 )). join ( ', ' ) }}); 이 방법을 사용하면 n8n이 배열의 항목 수에 맞게 IN 값에 대한 올바른 수의 prepared statement 플레이스홀더 를 자동으로 생성합니다. 타임스탬프 및 타임존 처리 # n8n과 Postgres가 타임스탬프 및 타임존 데이터를 해석하는 방식에서 발생하는 복잡성을 피하려면 다음 일반적인 권장 사항을 따르세요: 날짜 저장 및 전달 시 UTC 사용 : UTC를 사용하면 서로 다른 표현 방식과 시스템 간에 날짜를 변환할 때 타임존 변환으로 인한 혼란을 방지할 수 있습니다. 실행 타임존 설정 : 환경 변수 (self-hosted의 경우) 또는 설정 (n8n Cloud의 경우)에서 n8n의 전역 타임존을 설정합니다. 워크플로우별 타임존은 워크플로우 설정 에서 설정할 수 있습니다. ISO 8601 형식 사용 : ISO 8601 형식 은 일, 월, 연도, 시간, 분, 초를 표준화된 문자열로 인코딩합니다. n8n은 노드 간에 날짜를 문자열로 전달하며 Luxon 을 사용하여 날짜를 파싱합니다. ISO 8601로 명시적으로 변환해야 하는 경우 Date & Time 노드 와 yyyy-MM-dd'T'HH:mm:ss 문자열로 설정된 커스텀 형식을 사
