AgensGraph 2.17.0#
이 AgensGraph 릴리스는 PostgreSQL 17.10과의 상류 호환, Cypher 쿼리 지원 개선, 빌드 인프라 갱신을 비롯한 상당한 개선과 버그 수정을 담고 있습니다.
상류 변경#
상류 머지: AgensGraph가 이제 17.10 릴리스까지의 PostgreSQL 17과 호환되며, 최신 PostgreSQL 개선과 보안 패치를 담고 있습니다.
증분 백업: 이제
pg_basebackup이 증분 백업을 받을 수 있고 나중에pg_combinebackup으로 합칠 수 있어, 정기 베이스 백업의 크기와 시간이 줄어듭니다.MERGE 개선: 이제
MERGE가 (merge_action()함수와 함께)RETURNING절과WHEN NOT MATCHED BY SOURCE동작을 지원합니다.SQL/JSON
JSON_TABLE: 표준을 따르는 JSON 처리를 위해JSON_TABLE()과 SQL/JSON 쿼리 함수JSON_EXISTS()·JSON_QUERY()·JSON_VALUE()를 더했습니다.VACUUM 메모리와 성능: 죽은 튜플 ID를 담는 새 내부 자료구조가 VACUUM의 메모리 사용을 크게 줄이고 큰 테이블에서의 성능을 개선합니다.
쿼리 성능:
IS [NOT] NULL의 처리 개선과 순차 스캔의 스트리밍 I/O를 비롯해 플래너와 실행기의 개선이 많습니다.
개선#
DELETE / DETACH DELETE 성능 최적화 — 최대 약 30배 (#781):
정점을 지울 때 더는 모든 간선 레이블을 순차로 스캔하지 않으므로, 내부 시험에서 연결이 많은 정점의 삭제가 대략 30배 빨라졌습니다.
새 설정 매개변수
enable_graph_dml(#786):그래프 객체(그 아래의 정점·간선 테이블)에 SQL DML 문장(
INSERT/UPDATE/DELETE)을 직접 실행할 수 있게 하는enable_graph_dmlGUC를 더했습니다. 그래프 저장소에 날 SQL DML을 실행하면 그래프 데이터가 망가질 수 있으므로 기본값은off이고 슈퍼유저만 쓸 수 있습니다.
그래프 속성에 대한 pgvector·표현식 속성 인덱스 (#804):
이제
CREATE PROPERTY INDEX가 그래프 속성에 대해::vector(n)형 변환 위의 pgvector HNSW 인덱스와to_tsvector(...)위의 GIN 인덱스를 만들고 쓸 수 있습니다. Cypher 안에서의 벡터·전문·하이브리드 검색의 토대입니다(새로 생긴 벡터 / 전문 / 하이브리드 검색 가이드를 참고하십시오).
AI 라이브러리:
이 제품들은 AI 저장소에서 볼 수 있습니다
LangChain AgensGraph
langchain에서 GraphStore와 VectorStore 연동을 지원하는 Python 플러그인입니다.
LlamaIndex AgensGraph
llamaindex에서 AgensGraphStore·PropertyGraphIndex·AgensgraphVectorStore 연동을 지원하는 Python 플러그인입니다.
AgensGraph LightRag
LightRAG로 AgensGraph에 지식 그래프를 저장하고 조회하는 것을 지원하는 Python 플러그인입니다.
Cognee Community Graph Adapter - AgensGraph
Cognee프레임워크를 위한 AgensGraph 그래프 데이터베이스 어댑터를 제공하는 Python 플러그인입니다.
AgensGraph MCP Server
데이터베이스와의 상호작용을 제공하고 AgensGraph를 통한 그래프 탐색을 가능하게 하는 Model Context Protocol(MCP) 서버 구현입니다.
버그 수정#
리스트 컴프리헨션에서 그래프 개체를 쓸 수 없던 문제 (#788)
그래프 개체와 그것을 다루는 함수 — 예를 들어
nodes()·relationships()·startNode()·type()·label()— 를 이제[n IN nodes(p) | n]이나[r IN relationships(p) WHERE type(r) = 'knows']같은 리스트 컴프리헨션 안에서 쓸 수 있습니다. 전에는 그래프 객체가 타입 없는 JSONB 배열로 모여 틀린 결과를 반환했습니다. 이제는 제대로 타입이 있는 배열로 모입니다.
IN연산자의CypherList is expected오류 (#789)IN연산자의 오른쪽이 표현식으로 만들어진 리스트일 때, 예를 들어x IN split(s, ',')이나x IN ['1', '2']일 때 잘못 나던CypherList is expected오류를 고쳤습니다.
SET +=연산자에서 NULL로 인한 어서션 실패 (#791)SET +=(맵 병합) 연산자에NULL을 써도 더는 어서션 실패가 나지 않습니다. NULL인 경우를COALESCE로 안전하게 처리합니다.
ORDER BY가RETURN밖의 변수를 참조하지 못하던 문제 (#805)투영에 없는 컬럼으로
ORDER BY하는 CypherRETURN— 예를 들어MATCH (p:person) RETURN p.name ORDER BY p.age— 이 실패하는 대신 이제 동작합니다.
문서:
벡터·전문·하이브리드 검색 가이드:
그래프 속성에 대한 의미(pgvector)·전문·하이브리드 검색을 다루는 개발자 매뉴얼 페이지가 새로 생겼으며, 인덱싱과 GraphRAG 방식도 담았습니다.
문서 포털:
문서 포털이 AgensGraph 2.17 릴리스에 맞춰 갱신됐습니다.