지원 데이터베이스
기본적으로 n8n은 자격증명, 과거 실행 기록 및 워크플로우를 저장하기 위해 SQLite를 사용합니다. 사용되는 데이터베이스 유형은 n8n 설치 방식에 따라 다릅니다. 기본적으로 셀프 호스팅 설치는 SQLite를 사용합니다.
기본적으로 n8n은 자격증명, 과거 실행 기록 및 워크플로우를 저장하기 위해 SQLite를 사용합니다. n8n은 PostgresDB(현재 유지 관리 중인 버전만 해당)도 지원합니다.
n8n 설치 유형별 데이터베이스#
사용되는 데이터베이스 유형은 n8n 설치 방식에 따라 다릅니다.
셀프 호스팅 n8n#
기본적으로 셀프 호스팅 설치는 SQLite를 사용합니다. 적절한 환경 변수를 설정하여 PostgreSQL을 선택적으로 구성할 수 있습니다(PostgresDB 설정 참조).
n8n Cloud#
n8n Cloud 설치는 플랜 등급에 따라 다른 데이터베이스를 사용합니다.
- SQLite: Trial, Starter, Pro 플랜 및 레거시 Enterprise 플랜
- PostgreSQL: Enterprise Scaling 플랜 전용
공통 설정#
다음 환경 변수는 모든 데이터베이스에서 공통으로 사용됩니다.
DB_TABLE_PREFIX(기본값: -) - 테이블 이름 접두사
PostgresDB#
PostgresDB를 데이터베이스로 사용하려면 다음 환경 변수를 제공할 수 있습니다.
DB_TYPE=postgresdbDB_POSTGRESDB_DATABASE(기본값: 'n8n')DB_POSTGRESDB_HOST(기본값: 'localhost')DB_POSTGRESDB_PORT(기본값: 5432)DB_POSTGRESDB_USER(기본값: 'postgres')DB_POSTGRESDB_PASSWORD(기본값: 빈 값)DB_POSTGRESDB_SCHEMA(기본값: 'public')DB_POSTGRESDB_SSL_CA(기본값: undefined): 연결 유효성 검사에 사용되는 서버 CA 인증서 경로 (기회적 암호화는 지원되지 않음)DB_POSTGRESDB_SSL_CERT(기본값: undefined): 클라이언트 TLS 인증서 경로DB_POSTGRESDB_SSL_KEY(기본값: undefined): 인증서에 대응하는 클라이언트 개인 키 경로DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED(기본값: true): 유효성 검사에 실패한 TLS 연결을 거부할지 여부
export DB_TYPE=postgresdb
export DB_POSTGRESDB_DATABASE=n8n
export DB_POSTGRESDB_HOST=postgresdb
export DB_POSTGRESDB_PORT=5432
export DB_POSTGRESDB_USER=n8n
export DB_POSTGRESDB_PASSWORD=n8n
export DB_POSTGRESDB_SCHEMA=n8n
# 선택사항:
export DB_POSTGRESDB_SSL_CA_FILE=$(pwd)/ca.crt
export DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED=false
n8n start
필요 권한#
n8n은 사용하는 테이블의 스키마를 생성하고 수정할 수 있어야 합니다.
권장 권한 설정:
CREATE DATABASE n8n-db;
CREATE USER n8n-user WITH PASSWORD 'random-password';
GRANT ALL PRIVILEGES ON DATABASE n8n-db TO n8n-user;
TLS#
다음 구성 중 하나를 선택할 수 있습니다.
- 선언하지 않음 (기본값):
SSL=off으로 연결 - CA 및 unauthorized 플래그만 선언:
SSL=on으로 연결하고 서버 서명 검증 _{CERT,KEY}및 위 설정을 함께 선언: 클라이언트 TLS 인증을 위해 인증서와 키 사용
SQLite#
아무것도 정의하지 않은 경우 기본으로 사용되는 데이터베이스입니다.
데이터베이스 파일 위치:
~/.n8n/database.sqlite
