InfoGrab Docs

Supabase 노드 공통 이슈

요약

Supabase 노드에서 자주 발생하는 오류와 이슈, 그리고 해결 방법을 소개합니다. Supabase 메타데이터로 행을 필터링하려면 Select Type을 String으로 설정하세요. 그런 다음 Filters (String) 파라미터에서 MongoDB 셀렉터 형식을 참고한 Supabase 메타데이터 쿼리 언어를 사용해 메타데이터를 필터링하는 쿼리를 작성할 수 있습니다.

Supabase 노드에서 자주 발생하는 오류와 이슈, 그리고 해결 방법을 소개합니다.

메타데이터로 행 필터링#

Supabase 메타데이터로 행을 필터링하려면 Select TypeString으로 설정하세요.

그런 다음 Filters (String) 파라미터에서 MongoDB 셀렉터 형식을 참고한 Supabase 메타데이터 쿼리 언어를 사용해 메타데이터를 필터링하는 쿼리를 작성할 수 있습니다. Postgres ->> arrow JSON 연산자를 사용해 메타데이터 속성에 접근합니다(중괄호는 채워야 할 구성 요소를 나타냅니다):

metadata->>{your-property}={comparison-operator}.{comparison-value}

예를 들어 메타데이터의 age 속성에 접근하여 21 이상인 결과를 반환하려면 Filters (String) 필드에 다음과 같이 입력하세요:

metadata->>age=gte.21

이러한 연산자들을 조합해 더 복잡한 쿼리를 구성할 수 있습니다.

Docker 사용 시 로컬 Supabase 데이터베이스 연결 불가#

Docker에서 Supabase를 실행할 때는 n8n이 Supabase에 연결할 수 있도록 네트워크를 구성해야 합니다.

해결 방법은 두 구성 요소를 어떻게 호스팅하느냐에 따라 다릅니다.

Supabase만 Docker에서 실행하는 경우#

Supabase만 Docker에서 실행 중이라면, 셀프 호스팅 가이드에서 사용하는 Docker Compose 파일이 이미 올바른 인터페이스에 바인딩되어 Supabase를 실행합니다.

Supabase 자격 증명 설정 시 localhost 주소가 문제없이 작동합니다(Hostlocalhost로 설정).

Supabase와 n8n이 별도의 Docker 컨테이너에서 실행되는 경우#

n8n과 Supabase가 모두 Docker의 별도 컨테이너에서 실행 중이라면, Docker 네트워킹을 사용해 연결할 수 있습니다.

컨테이너 내부에서 0.0.0.0에 바인딩하여 Supabase가 모든 인터페이스에서 수신하도록 구성하세요(공식 Docker compose 설정이 이미 이를 수행합니다). 동일한 Docker Compose 파일에서 함께 관리하지 않는 경우, Supabase와 n8n 구성 요소를 동일한 사용자 정의 브리지 네트워크에 추가하세요.

Supabase 자격 증명 설정 시 localhost 대신 Supabase API 게이트웨이 컨테이너 이름(기본값: supabase-kong)을 호스트 주소로 사용하세요. 예를 들어 기본 설정을 사용한다면 Hosthttp://supabase-kong:8000으로 설정합니다.

Postgres에서는 접근 가능하지만 Supabase에서는 접근 불가한 레코드#

Supabase 노드로 레코드를 조회하면 결과가 비어있지만 Postgres 노드나 Postgres 클라이언트로는 접근 가능한 경우, Supabase의 행 수준 보안(RLS) 정책과 충돌이 발생했을 수 있습니다.

Supabase는 Table Editor에서 공개 스키마로 테이블을 생성할 때 항상 RLS를 활성화합니다. RLS가 활성화되어 있으면 정책을 생성하기 전까지는 API가 공개 anon 키로 어떤 데이터도 반환하지 않습니다. 이는 의도한 데이터만 노출하도록 하는 보안 조치입니다.

anon 역할로 RLS가 활성화된 테이블의 데이터에 접근하려면 사용하려는 접근 패턴을 활성화하는 정책을 생성하세요.

Supabase 노드 공통 이슈

원문 보기
요약

Supabase 노드에서 자주 발생하는 오류와 이슈, 그리고 해결 방법을 소개합니다. Supabase 메타데이터로 행을 필터링하려면 Select Type을 String으로 설정하세요. 그런 다음 Filters (String) 파라미터에서 MongoDB 셀렉터 형식을 참고한 Supabase 메타데이터 쿼리 언어를 사용해 메타데이터를 필터링하는 쿼리를 작성할 수 있습니다.

Supabase 노드에서 자주 발생하는 오류와 이슈, 그리고 해결 방법을 소개합니다.

메타데이터로 행 필터링#

Supabase 메타데이터로 행을 필터링하려면 Select TypeString으로 설정하세요.

그런 다음 Filters (String) 파라미터에서 MongoDB 셀렉터 형식을 참고한 Supabase 메타데이터 쿼리 언어를 사용해 메타데이터를 필터링하는 쿼리를 작성할 수 있습니다. Postgres ->> arrow JSON 연산자를 사용해 메타데이터 속성에 접근합니다(중괄호는 채워야 할 구성 요소를 나타냅니다):

metadata->>{your-property}={comparison-operator}.{comparison-value}

예를 들어 메타데이터의 age 속성에 접근하여 21 이상인 결과를 반환하려면 Filters (String) 필드에 다음과 같이 입력하세요:

metadata->>age=gte.21

이러한 연산자들을 조합해 더 복잡한 쿼리를 구성할 수 있습니다.

Docker 사용 시 로컬 Supabase 데이터베이스 연결 불가#

Docker에서 Supabase를 실행할 때는 n8n이 Supabase에 연결할 수 있도록 네트워크를 구성해야 합니다.

해결 방법은 두 구성 요소를 어떻게 호스팅하느냐에 따라 다릅니다.

Supabase만 Docker에서 실행하는 경우#

Supabase만 Docker에서 실행 중이라면, 셀프 호스팅 가이드에서 사용하는 Docker Compose 파일이 이미 올바른 인터페이스에 바인딩되어 Supabase를 실행합니다.

Supabase 자격 증명 설정 시 localhost 주소가 문제없이 작동합니다(Hostlocalhost로 설정).

Supabase와 n8n이 별도의 Docker 컨테이너에서 실행되는 경우#

n8n과 Supabase가 모두 Docker의 별도 컨테이너에서 실행 중이라면, Docker 네트워킹을 사용해 연결할 수 있습니다.

컨테이너 내부에서 0.0.0.0에 바인딩하여 Supabase가 모든 인터페이스에서 수신하도록 구성하세요(공식 Docker compose 설정이 이미 이를 수행합니다). 동일한 Docker Compose 파일에서 함께 관리하지 않는 경우, Supabase와 n8n 구성 요소를 동일한 사용자 정의 브리지 네트워크에 추가하세요.

Supabase 자격 증명 설정 시 localhost 대신 Supabase API 게이트웨이 컨테이너 이름(기본값: supabase-kong)을 호스트 주소로 사용하세요. 예를 들어 기본 설정을 사용한다면 Hosthttp://supabase-kong:8000으로 설정합니다.

Postgres에서는 접근 가능하지만 Supabase에서는 접근 불가한 레코드#

Supabase 노드로 레코드를 조회하면 결과가 비어있지만 Postgres 노드나 Postgres 클라이언트로는 접근 가능한 경우, Supabase의 행 수준 보안(RLS) 정책과 충돌이 발생했을 수 있습니다.

Supabase는 Table Editor에서 공개 스키마로 테이블을 생성할 때 항상 RLS를 활성화합니다. RLS가 활성화되어 있으면 정책을 생성하기 전까지는 API가 공개 anon 키로 어떤 데이터도 반환하지 않습니다. 이는 의도한 데이터만 노출하도록 하는 보안 조치입니다.

anon 역할로 RLS가 활성화된 테이블의 데이터에 접근하려면 사용하려는 접근 패턴을 활성화하는 정책을 생성하세요.