AgensGraph 설치#

경로는 세 가지입니다. Docker는 쿼리할 수 있는 서버에 가장 빨리 도달하는 방법입니다. 패키지는 워크스테이션이나 단일 서버에 흔히 쓰는 선택입니다. 무언가를 바꿔야 하거나 사용하는 플랫폼에 패키지가 없다면 소스에서 빌드하십시오.

AgensGraph를 그저 시험해 보고 싶을 뿐이라면 Docker를 쓰고 예제 데이터셋으로 건너뛰십시오.

Docker#

docker run --name agensgraph -e POSTGRES_PASSWORD=agensgraph -d skaiworldwide/agensgraph:v2.18.6.0-bookworm

그다음 컨테이너 안에서 클라이언트를 엽니다:

docker exec -it agensgraph agens -U agens -d postgres

이 이미지는 공식 postgres 이미지와 같은 환경 변수를 받습니다 — POSTGRES_USER, POSTGRES_DB, PGDATA 등입니다. 그러므로 포트를 공개하고 볼륨을 마운트하는 방식도 평소와 같습니다:

docker run -d --name agensgraph \
  -e POSTGRES_PASSWORD=agensgraph \
  -p 5432:5432 \
  -v agensgraph-data:/var/lib/postgresql \
  skaiworldwide/agensgraph:v2.18.6.0-bookworm

태그는 릴리스에 기반 이미지를 붙인 형태입니다: v2.18.6.0-trixie, v2.18.6.0-bookworm, v2.18.6.0-rocky10, v2.18.6.0-rocky9, v2.18.6.0-alpine3.24, v2.18.6.0-alpine3.23. 하나를 고정하십시오. skaiworldwide/agensgraph 만 쓰면 가리키는 대상이 계속 움직입니다.

경고

2.18.6.0 이미지는 PostgreSQL 18의 배치 변경을 따릅니다. PGDATA의 기본값이 이제 /var/lib/postgresql/18/docker이고, 선언된 볼륨이 /var/lib/postgresql/data에서 /var/lib/postgresql로 옮겨졌습니다. 이전 태그가 초기화한 호스트 볼륨은 명시적으로 가리키지 않는 한 2.18.6.0 컨테이너가 찾지 못합니다:

-e PGDATA=/var/lib/postgresql/data -v /custom/mount:/var/lib/postgresql/data

어느 경우든 기존 데이터 디렉터리를 다시 쓰기 전에 2.18로 업그레이드하기를 읽으십시오 — 2.17 데이터 디렉터리는 2.18으로 기동할 수 없습니다.

패키지#

AgensGraph 다운로드 페이지에서 사용하는 플랫폼용 빌드를 받아 원하는 곳에 풀어 놓으십시오. 예를 들어 /usr/local/AgensGraph입니다:

tar xvf agensgraph-v2.18.6.0-build.tar.gz -C /usr/local

어떤 빌드가 필요한지 확실하지 않다면:

uname -sm

그다음 데이터베이스 준비로 이어 가십시오.

소스에서 빌드#

빌드 의존성 설치#

sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison
sudo yum install gcc glibc glib-common readline readline-devel zlib zlib-devel flex bison perl
sudo dnf install gcc glibc bison flex readline readline-devel zlib zlib-devel
xcode-select --install

빌드와 설치#

git clone https://github.com/skaiworldwide-oss/agensgraph.git
cd agensgraph
./configure --prefix=$(pwd)
make install

--prefix가 바이너리가 놓이는 곳을 결정합니다. 이것을 주지 않으면 make install이 /usr/local/pgsql에 씁니다. 위처럼 소스 트리를 가리키게 하면 이것저것 시험해 보는 동안 모든 것이 한곳에 모여 있습니다.

contrib 모듈까지 함께 빌드하려면 — pgvector는 그중에 없지만, 적재 가이드가 사용하는 file_fdw는 있습니다:

make install-world

configure가 필요한 헤더를 찾지 못하면 --with-includes=/path/to/headers로 어디를 볼지 알려 주십시오. ./configure --help가 모든 옵션을 나열합니다. 그 옵션들은 PostgreSQL의 것이고, PostgreSQL 설치 장이 그것들을 문서화하고 있습니다.

바이너리를 PATH에 넣기#

export PATH=/path/to/agensgraph/bin:$PATH
export LD_LIBRARY_PATH=/path/to/agensgraph/lib:$LD_LIBRARY_PATH

계속 유지되게 하려면 위 내용을 ~/.bashrc에, macOS라면 ~/.zshrc에 추가하십시오.

데이터베이스 준비#

도구는 PostgreSQL의 것이며, 두 개의 이름이 바뀌었습니다. agens가 대화형 클라이언트이고 ag_ctl이 서버를 기동하고 정지합니다. agens 클라이언트를 참고하십시오.

데이터 디렉터리를 만듭니다:

initdb -D /path/to/data

서버를 기동합니다:

ag_ctl -D /path/to/data -l /path/to/data/server.log start

데이터베이스를 만듭니다:

createdb mydb

AGDATA를 설정하면 이후 명령에서 -D를 생략할 수 있습니다:

export AGDATA=/path/to/data

설치 확인#

접속합니다:

agens mydb

서버에게 자신이 무엇인지 물어봅니다:

SELECT version();
                                        version
-------------------------------------------------------------------------------------
 PostgreSQL 18.6 (AgensGraph 2.18.6.0) on x86_64-pc-linux-gnu, compiled by gcc ...

그다음 그래프 쪽이 있는지 확인합니다. 이 부분이 순수 PostgreSQL 빌드라면 실패하는 대목입니다:

CREATE GRAPH check_install;
SET graph_path = check_install;
CREATE (:t {ok: true});
MATCH (n:t) RETURN n;
         n
--------------------
 t[3.1]{"ok": true}
DROP GRAPH check_install CASCADE;

그래프가 그 안의 레이블과 시퀀스를 소유하고 있으므로 CASCADE가 필요합니다.

다음#

이 매뉴얼의 모든 페이지가 사용하는 예제 데이터셋을 적재한 뒤, 첫 쿼리를 실행하십시오.

운영 설치는 — 데이터 디렉터리를 어디에 둘지, postgresql.conf에 무엇을 설정할지, systemd 아래에서 어떻게 실행할지, 어떻게 잠글지 — 배포와 구성을 참고하십시오.