위 글에서 .. postgresql에 처음 입문하고 쓰다가
맥북에서 쓰기 싫어서 큰 맘 먹고 맥미니 밀고 다시 세팅했다 ^.^
맥미니 세팅은 생략하고 postgreSQL 세팅법만 정리~
apt show postgresql
sudo apt-get update
sudo apt-get -y install postgresql-17
17 버전은 바로 설치하면 오류가 뜹니다 ...
패키지가 없어서 ..
공식 문서를 찾아보니 따라 할 수 있게 정리되어 있음
sudo apt install -y postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
sudo apt install curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
. /etc/os-release
sudo sh -c "echo 'deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $VERSION_CODENAME-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
sudo apt update
sudo apt -y install postgresql-17
psql --version
설치된 버전 확인
접속을 하려고 했는데 접속이 안 된다 .... 당황 ...
그래서 포트가 열려있는지 먼저 확인하기 위해 .. net-tools 설치하기..
sudo apt install net-tools
그리고 확인하기 ..
netstat -ntlp | grep 5432
그런데 5432 기본 포트가 잘 살아있다
그래서 이번에는 소켓 파일이 잘 있는지 확인해보기 ..
ls -l /var/run/postgresql/.s.PGSQL.5432
근데 소켓파일도 잘 있다...
왜 그럴까 한참 고민하다가 괜히 restart 해보기 ..
근데 전혀 문제가 없는데 ..... ㅜ ㅜ
sudo -u postgres psql
sudo는 잘 안 쓰고 싶었는데.. 어쩔 수 없다라는 마음으로 냅다 sudo 갈겼더니 성공 ... ^.^
역시 Sudo는 .... .....
근데 왜 되는지는 모르는데
sudo로 super로 설치했기 떄문에 아마 sudo 권한만 접속이 가능하다고 예측 중 ...
하 어려워 ~
sudo로 써도 되긴 하지만, 괜히 쓰기 싫어서 계정을 새로 만들었다.
sudo -u postgres createuser [계정이름] --superuser
그리고 새로 만든 계정으로 접속을 해보려고 했는데 ..
ㅎ 또 같은 오류가 ㅎ
..
그래서 계정 생성이 안 된건가 싶어서 다른 방식으로 계정을 생성보았다
sudo -u postgres createuser --interactive Enter name of role to add: [계정이름 입력] Shall the new role be a superuser? (y/n) y [슈퍼 유저 권한을 주겠냐는 의미이므로 필요하면 Y)
근데 이미 있다고 한다 ..
당황해서 비밀번호 세팅을 안 해서 그런가 싶다는 생각에
sudo로 들어가서 비번을 바꿔보기로
alter user skala password '비밀번호';
이렇게 바꾸면 된다
다시 새로 만든 계정으로 접속을 시도했는데 아직도 안 들어가짐 ㅎ
그래서 주소를 지정해보기로 했다 ..
psql -U [계정이름] -d postgres -h 127.0.0.1
오예 !!!!
로컬 호스트를 지정해주니깐 된다 ㅎ
쉽지 않다 .......
그치만 성공해서 뿌듯
아래는 접속하고 생성하는 기본 예제 !!
psql -U [계정명] -d [DB명]
create database lms;
drop database lms;
\list
\c [DB 이름]
CREATE SCHEMA IF NOT EXISTS [스키마이름];
CREATE SCHEMA IF NOT EXISTS [스키마이름];
CREATE TABLE IF NOT EXISTS [스키마].[테이블명] ( [PK이름] SERIAL PRIMARY KEY, [속성명] [타입] NOT NULL, [속성명] [타입] );
sudo apt install postgresql-server-dev-all
sudo apt install postgresql-[버전숫자]-pgvector
먼저 sudo 권한으로 접속
sudo -u postgres psql
익스텐션 설정
CREATE EXTENSION IF NOT EXISTS vector;
설정을 했는데 이미 있다고 한다 ..
SELECT * FROM pg_available_extensions WHERE name = 'vector';
그래서 확인해보니 이미 있네 ^.^ 머쓱..
특정 유저로 하고 싶으면 특정 유저로 접속해서 한 번 더 익스텐션 설정 해줘야 됨
특정 유저에서 만약 Extension 설정하고 성공하면 이렇게 뜸
CREATE EXTENSION IF NOT EXISTS pgcrypto;
CREATE TABLE IF NOT EXISTS public.vector_store ( embedding_id UUID PRIMARY KEY DEFAULT gen_random_uuid(), embedding vector(1536), created_at TIMESTAMPTZ DEFAULT now() );
이렇게 기본적인 세팅 및 테스트는 끝 !