[DGX] PostgresSQL + PGVector 설치

Vector DB 를 Local 에서 사용하려면 Vector DB 를 지원하는 Postgress 가 제일이다.

가. 레파지토리 추가 및 설치

$ sudo apt update
$ sudo apt install gnupg2 wget vi
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
$ curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
$ sudo apt update
 

설치 : pgVector 포함

$ sudo apt install postgresql-16 postgresql-contrib-16 postgresql-16-pgvector
$ systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)
     Active: active (exited) since Wed 2026-06-10 11:01:48 KST; 16s ago
   Main PID: 3453197 (code=exited, status=0/SUCCESS)
        CPU: 1ms

 6월 10 11:01:48 spark-aecc systemd[1]: Starting postgresql.service - PostgreSQL RDBMS...
 6월 10 11:01:48 spark-aecc systemd[1]: Finished postgresql.service - PostgreSQL RDBMS
 

postgres 계정 암호 생성 확장 모듈 생성

postgres 계정으로 전환 하여 psql 을 실행 해준다

$ sudo -i -u postgres
postgres$ psql
psql (16.14 (Ubuntu 16.14-1.pgdg24.04+1))
도움말을 보려면 "help"를 입력하십시오.

postgres=# ALTER USER postgres WITH PASSWORD '________';
postgres=# CREATE EXTENSION vector;
postgres=# CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
postgres=# CREATE EXTENSION pgcrypto;
postgres=# SELECT extname FROM pg_extension;
  extname
-----------
  plpgsql
  uuid-ossp
  vector
  pgcrypto
(4개 행)

postgres=# exit;
postgres$ exit
로그아웃

 

나. 외부 접속 허용

외부접속을 허용하려면 PostgresSQL 에서 접속이 가능하도록 해주고, 서비스 포트(5432) 를 방화벽에서 허용해 주어야 한다.

환경설정파일의 위치 확인

$ cat /var/lib/postgresql/16/main/postmaster.opts
cat: /var/lib/postgresql/16/main/postmaster.opts: 허가 거부

$ sudo cat /var/lib/postgresql/16/main/postmaster.opts
/usr/lib/postgresql/16/bin/postgres "-D" "/var/lib/postgresql/16/main" "-c" "config_file=/etc/postgresql/16/main/postgresql.conf"

 

위치가 파악 되었으면 2개의 파일을 수정하고 Postgres DB 를 재시작 해줘야 한다.

$ sudo vi /etc/postgresql/16/main/postgresql.conf
==========================
listen_addresses = '*'
max_connections = 1000 
==========================

$ sudo vi /etc/postgresql/16/main/pg_hba.conf
==========================
host    all             all             0.0.0.0/0               md5
==========================

$ sudo systemctl restart postgresql

이제 외부에서 Postgres 를 접속할수 있는 툴들로 접근할 수 있다

※ 필자는 DBeaver 를 사용하여 접속을 했다.

Database : postgres

Schema : Public

Extensions : 위에 추가했던 4가지