안녕하세요.
오늘은 PostgreSQL에서 vectorData를 저장하는법에 대하여 알아보겠습니다.
llm 관련하여 프로젝트를 하다보면 로컬서버에서 PostgreSQL에 vector디비를 사용해야하는 상황이 있을 수 있습니다.
그럴경우 아래와 같은 명령어로 PostgreSQL에 vector를 EXTENSION 해야하는데요.
CREATE EXTENSION IF NOT EXISTS vector;
이렇게 벡터 확장프로그램을 추가해주면 아래와 같은 에러가 발생합니다.
ERROR: "vector" 이름의 확장 모듈을 사용할 수 없습니다
"C:/Program Files/PostgreSQL/16/share/extension/vector.control" 확장 모듈 제어 파일 열기 실패: No such file or directory.
오류: "vector" 이름의 확장 모듈을 사용할 수 없습니다
SQL state: 0A000
Detail: "C:/Program Files/PostgreSQL/16/share/extension/vector.control" 확장 모듈 제어 파일 열기 실패: No such file or directory.
Hint: 해당 확장 모듈은 PostgreSQL 시작 전에 먼저 설치 되어 있어야합니다.
PostgreSQL의 경우 pgvector 확장을 별도로 설치해주어야합니다.
확장프로그램 설치에 앞서 사전 작업부터 알아보겠습니다.
1. Visual Studio 설치 (C++ 지원 포함)
- 설치할 때 “C++를 사용한 데스크톱 개발” 워크로드 체크 필수
2. Git 설치
- https://git-scm.com/downloads
3. x64 Native Tools Command Prompt for VS 실행 (관리자 권한으로)
위와 같이 진행 후에 PostgreSQL 설치된 버전 기준으로 아래 경로에 설치되었다고 가정하고 Command창에 입력해줍니다.
set "PGROOT=C:\Program Files\PostgreSQL\16"
cd %TEMP%
git clone --branch v0.8.0 https://github.com/pgvector/pgvector.git
cd pgvector
nmake /F Makefile.win
nmake /F Makefile.win install
그러면 C:\Users\PC계정명\AppData\Local\Temp\pgvector 경로에 vector.dll / vector.control 이 생성되고,
하위 sql 디렉토리안에 vector.sql를 포함한 여러 버전 파일들이 생성되어 있을 것 입니다.
vector.dll 파일은 C:\Program Files\PostgreSQL\16\lib 경로에 붙여넣고
vector.control 파일과 sql디렉토리안에 vector.sql를 포함한 나머지 파일들은
C:\Program Files\PostgreSQL\16\share\extension\ 경로에 붙여넣습니다.
위 작업을 마쳤으면 postgreSQL 재시작후에 아래 대로 쿼리를 실행해주면됩니다.
CREATE EXTENSION IF NOT EXISTS vector;
#참고용
CREATE TABLE documents (
id SERIAL PRIMARY KEY,
content TEXT,
embedding VECTOR(3072) -- text-embedding-3-large 기준
);
감사합니다.
'AI' 카테고리의 다른 글
[AI] LLM 핵심 개념 요약 정리 (4) | 2025.06.15 |
---|---|
[AI] 딥러닝 핵심 개념 요약 정리 (0) | 2025.06.06 |
[AI] 머신러닝 핵심 개념 요약 정리 - Day_2 (1) | 2025.05.31 |
[AI] 머신러닝 핵심 개념 요약 정리 - Day_1 (0) | 2025.05.30 |
LangChain(랭체인)이란? (2) | 2025.03.22 |