만쥬의 개발일기
article thumbnail

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 명령을 통해 생성된 데이터베이스 목록을 확인한다.

위 예시에서 template0template1은 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
profile

만쥬의 개발일기

@KangManJoo

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!