1. Ubuntu에 설치할 수 있는 PostgreSQL 버전 확인하기
<code />
apt show postgresql

위 명령어를 통해 설치할 수 있는 postgreSQL 버전을 확인할 수 있다.
현재 테스트 환경은 ubuntu18.04이고, 설치 가능한 버전은 10버전이다.
<code />
$ sudo apt install postgresql postgresql-contrib
위 명령어를 통해 바로 설치가 가능하다.
2. 설치 후 버전 확인
설치 후 버전 확인 방법은 여러가지가 있다.
<code />
psql --version

가장 간단하게 위 명령어로 확인이 가능하고,
<code />
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 이후,
<code />
sudo apt-get install libpq-dev
위 명령어를 입력해주자.
3. postgreSQL 데이터베이스 접속하기
가장 처음엔 다음 명령어로 쉘에 접속해주자.
<code />
sudo -i -u postgres
이 명령어를 사용하면 슈퍼 유저 권한으로 쉘에 접속하고, postgres 사용자로 로그인한 것과 유사한 환경을 제공한다.
다음으로 psql 명령어로 DB에 접속한다.
<code />
psql
이 때, 다음과 같은 오류가 날 수 있다.

처음엔 port가 mySQL과 겹치는 줄 알았으나, 알고보니 postgreSQL의 서버를 켜주지 않아서 발생한 것이었다… 먼저 서버를 켜주자
<code />
sudo service postgresql start
참고로 mysql의 기본 포트는 3306이고, postgreSQL의 기본 포트는 5432이다.
4. 유저 생성하기
다음 명령어로 유저를 생성하고, \du 명령을 통해 생성된 계정 목록을 확인한다.
<code />
create user kdh password '{password}' superuser;

5. 데이터베이스 생성하기
다음 명령어로 데이터베이스를 생성하고, \l 명령을 통해 생성된 데이터베이스 목록을 확인한다.

위 예시에서 template0 과 template1은 PostgreSQL 설치 시에 미리 생성된 템플릿이다.
template0은 변경이 불가능하고, 사용자가 직접 수정하거나 데이터를 추가할 수 없다.
새로운 데이터베이스를 생성할 때 해당 템플릿을 사용하면 완전히 깨끗하고 기본 설정이 적용된 데이터베이스가 생성된다.
template1은 사용자가 직접 수정하거나 템플릿을 수정할 수 있다.
새로운 데이터베이스를 생성할 때 fork하듯이 기본적으로 template1을 복사하여 생성한다.
6. 생성한 유저로 데이터베이스 접속하기
다음 명령어로 생성한 데이터베이스에 접속할 수 있다.
단, 해당 유저가 그 데이터베이스의 owner여야 한다.
<code />psql -U {유저명} -d {데이터베이스명}

7. 테이블 만들기 예시
간단한 예시로 user 테이블을 만들어보자. 문법은 기존 sql문과 동일하고, 테이블 목록은 \\dt 명령어로 확인 가능하다.
<code />
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE,
email VARCHAR(100),
created_at TIMESTAMP DEFAULT current_timestamp
);

8. 그 외 기본 명령어
8.1. DB 테이블 정보 출력
<shell />\d {테이블명}

8.2. DB 출력 방식 변경
<shell />-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 |