InfoGrab DocsInfoGrab Docs

Postgres node 일반적인 문제

Postgres node 에서 발생하는 일반적인 오류와 문제, 그리고 이를 해결하거나 문제를 해결하는 방법을 소개합니다. 매개변수를 사용하여 SQL IN 그룹을 동적으로 채우기 # Postgres에서는 SQL IN 비교 구문 을 사용하여 값 그룹 간 비교를 수행할 수 있습니다: SELECT color, shirt_size FROM shirts WHERE shirt_size IN ( 'small' , 'medium' , 'large' ); 쿼리에서 n8n 표현식 을 사용하여 IN 그룹의 값을 동적으로 채울 수 있지만, 이를 쿼리 매개변수 와 결합하면 입력을 자동으로 정제하여 추가적인 보호를 제공합니다. 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를 사용하면 서로 다른 표현 방식과 시스템 간에 날짜를 변환할 때 시간대 변환에 대한 혼동을 피할 수 있습니다. 실행 시간대를 설정하세요 : 셀프 호스팅 환경에서는 환경 변수 를 사용하거나, n8n Cloud 환경에서는 설정 에서 n8n의 전역 시간대를 설정할 수 있습니다. 워크플로 설정 에서 워크플로별 시간대를 설정할 수도 있습니다. ISO 8601 형식을 사용하세요 : ISO 8601 형식 은 일, 월, 연, 시, 분, 초를 표준화된 문자열로 인코딩합니다. n8n은 노드 간에 날짜를 문자열로 전달하며 날짜를 파싱하는 데 Luxon 을 사용합니다. ISO 8601로 명시적으로 형변환해야 하는 경우, Date & Time node 와 yyyy-MM-dd'T'HH:mm