Ubuntu에 설치할 수 있는 PostgreSQL 버전 확인하기
apt show postgresql
위 명령어를 통해 설치할 수 있는 postgreSQL 버전을 확인할 수 있다.
현재 테스트 환경은 ubuntu18.04이고, 설치 가능한 버전은 10버전이다.
$ sudo apt install postgresql postgresql-contrib
위 명령어를 통해 바로 설치가 가능하다.
설치 후 버전 확인
설치 후 버전 확인 방법은 여러가지가 있다.
psql --version
가장 간단하게 위 명령어로 확인이 가능하고,
pg_config --version
위 명령어로도 확인이 가능하다.
다만 해당 명령어 사용시 다음과 같은 에러메세지가 날 때가 있다.
"You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application."
이 때에는 sudo apt-get update 이후,
sudo apt-get install libpq-dev
위 명령어를 입력해주자.
postgreSQL 데이터베이스 접속하기
가장 처음엔 다음 명령어로 쉘에 접속해주자.
sudo -i -u postgres
이 명령어를 사용하면 슈퍼 유저 권한으로 쉘에 접속하고, postgres 사용자로 로그인한 것과 유사한 환경을 제공한다.
다음으로 psql 명령어로 DB에 접속한다.
psql
이 때, 다음과 같은 오류가 날 수 있다.
처음엔 port가 mySQL과 겹치는 줄 알았으나, 알고보니 postgreSQL의 서버를 켜주지 않아서 발생한 것이었다… 먼저 서버를 켜주자
sudo service postgresql start
참고로 mysql의 기본 포트는 3306이고, postgreSQL의 기본 포트는 5432이다.
유저 생성하기
다음 명령어로 유저를 생성하고, \du 명령을 통해 생성된 계정 목록을 확인한다.
create user kdh password '{password}' superuser;
데이터베이스 생성하기
다음 명령어로 데이터베이스를 생성하고, \l 명령을 통해 생성된 데이터베이스 목록을 확인한다.
위 예시에서 template0 과 template1은 PostgreSQL 설치 시에 미리 생성된 템플릿이다.
template0은 변경이 불가능하고, 사용자가 직접 수정하거나 데이터를 추가할 수 없다.
새로운 데이터베이스를 생성할 때 해당 템플릿을 사용하면 완전히 깨끗하고 기본 설정이 적용된 데이터베이스가 생성된다.
template1은 사용자가 직접 수정하거나 템플릿을 수정할 수 있다.
새로운 데이터베이스를 생성할 때 fork하듯이 기본적으로 template1을 복사하여 생성한다.
생성한 유저로 데이터베이스 접속하기
다음 명령어로 생성한 데이터베이스에 접속할 수 있다.
단, 해당 유저가 그 데이터베이스의 owner여야 한다.
psql -U {유저명} -d {데이터베이스명}
테이블 만들기 예시
간단한 예시로 user 테이블을 만들어보자. 문법은 기존 sql문과 동일하고, 테이블 목록은 \\dt 명령어로 확인 가능하다.
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT current_timestamp
);
그 외 기본 명령어
DB 테이블 정보 출력
\d {테이블명}
DB 출력 방식 변경
-x
'🛠️TOOL > 🐘PostgreSQL' 카테고리의 다른 글
[PostgreSQL / Trouble Shooting] PostgreSQL 에러 로그 확인 및 해결법(psql: error: could not connect to server: No such file or directory ) (1) | 2024.01.22 |
---|---|
[PostgreSQL] - 원격 서버에서 PostgreSQL 접속하는 법 (0) | 2024.01.02 |
[PostgreSQL] - PostgreSQL DB생성 및 접속 시 Peer authentication 에러 해결법 (0) | 2024.01.01 |
[PostgreSQL] - PostgreSQL사용 시 데이터 공간 부족 문제 해결 (0) | 2024.01.01 |
[PostgreSQL] - PostgreSQL vs MySQL (4) | 2024.01.01 |