Back-End/PostGresQL

[PostGreSQL] PostgreSQL 이란?

Tinkies 2025. 2. 22. 21:54

 

객체-관계형 데이터베이스 관리 시스템(ORDBMS)인 PostgreSQL은 안정성과 성능을 제공해 SQL 표준을 준수합니다. 오픈 소스로 다양한 데이터 형식과 복잡한 쿼리를 지원하고 있습니다.


1. PostgreSQL의 특징

  • ACID 준수: 트랜젝션의 원자성,일관성, 격리성, 지속성을 보장
  • 확장성: 사용자 정의 데이터 유형, 함수, 연산자 등을 지원
  • JSON 지원: JSONB 형식으로 비정형 데이터 저장 가능
  • 지리정보 시스템(GIS): PostGIS를 통해 공간 데이터 처리 가능.
  • 복제 및 고가용성: 스티리밍 복제 및 고가용성 구성 지원

2. PostgreSQL의 장단점

  • 장점
    • 신뢰성: 데이터 무결성과 안정성 보장
    • 성능: 대량의 데이터 처리 및 복잡한 쿼리에 강함
    • 커뮤니티 지원: 활발한 커뮤니티와 다양한 플러그인, 툴 제공
    • 다양한 플랫폼 지원: Windows, macOS, Linux 등 여러 운영 체제에서 사용 가능
  • 단점
    • 설정 복잡성: 초기 설정 및 튜닝이 다소 복잡
    • 메모리 사용량: 대규모 데이터베이스의 메모리 사용량이 증가할 수 있음

3. OS 별 설치법

  • Windows 설치법
    • PostgreSQL의 공식 페이지에서 PostgreSQL을 다운받고 실행합니다.
    • 설치 마법사의 지시에 따라 설치합니다.
    • 언어 선택: 설치 마법사가 시작되면 언어를 선택하고 "OK"를 클릭
    • 라이센스 동의: 라이센스 약관을 읽고 동의 후 "Next" 클릭
    • 설치 위치 선택: PostgreSQL을 설치할 폴더를 선택하거나 Next 클릭
    • 설치할 컴포넌트 선택: 기본적으로 모든 항목이 선택되어 있음
    • 데이터 파일이 저장될 디렉토리 선택: 기본 값이나 다른위치 선택후 Next
    • 비밀 번호 설정 후 포트 설정: Postgres의 슈퍼우저(postgres)의 비밀번호 설정후 기본 포트 5432로 설정 그 후 데이터 베이스 로케일 설정 후 설치
    • PostgreSQL 서비스 확인: 설치 완료후 PostgreSQL 자동 실행 

 

  • macOS
    • Homebrew가 설치되어 있는지 확인합니다.
    • 터미널에서 타음 명령어를 실행합니다.
brew install postgresql

 

설치후 PostgreSQL 서비스를 시작합니다.

brew services start postgresql
  • Linux (Ubuntu)

아래 명령어로 패키지 목록을 업데이트 합니다.

sudo apt update

 

다음 PostgreSQL을 설치하고 PostgreSQL 서비스를 시작합니다.

sudo apt install postgresql postgresql-contrib
sudo systemctl start postgresql

4.PostgreSQL 기본 설정

PostgreSQL에 접속하기 위해 psql 명령어를 사용합니다. 터미널 또는 커맨드 프롬프트에 다음 명령어를 입력합니다.

sudo -u postgres psql

 

또는 macOS나 Linux에서 사용할경우 아래 명령어를 입력합니다.

psql postgres
  • 데이터베이스 생성:
CREATE DATABASE mydb;
  • 사용자 생성
CREATE USER 유저명 WITH PASSWORD '패스워드'
  • 사용자에게 데이터베이스 권한 부여:
GRANT ALL PRIVILEGES ON DATABASE mydb TO 유저명;
  • PostgreSQL 종료
\q
  • 데이터베이스 접속
    • 생성한 데이터베이스에 접속
psql -U 유저명 -d mydb
  • 비밀번호 입력 후 데이터베이스에 접속

5. 기본 SQL 명령어 사용하기

  • 테이블 생성
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100) UNIQUE
);
  • 데이터 삽입
INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com');
  • 데이터 조회
SELECT * FROM users;

6. vsCode에서 PostgreSQL 실행 

vsCode를 열고 왼쪽 사이드바에서 Extensions 아이콘을 클릭해 PostgreSQL을 검색후 설치합니다. 개인적으로 Wejian Chan의 PostgreSQL을 추천합니다.

  • Host: localhost (or PostgreSQL Server IP 주소)
  • Port: 5432 (기본 포트)
  • DataBase: 연결할 데이터베이스 이름(ex. mydb)
  • Username: PostgreSQL 사용자 이름
  • Password: PostgreSQL의 사용자 비밀번호

모든 정보를 입력후 "Connect'를 클릭후, 연결이 성공되면 PostgreSQL 탐색기에서 데이터베이스를 확인할 수 있습니다. 이제 .sql 확장자로 새파일을 만들어 SQL 쿼리를 작성해봅니다.

CREATE TABLE users (
     id SERIAL PRIMARY KEY,
     name VARCHAR(100) NOT NULL,
     email VARCHAR(100) UNIQUE NOT NULL,
     created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)

 

vsCode에 sql 파일에 마우스를 가져가면 Run 버튼을 클릭해봅니다 그리고 psql테이블이 생성되었는지 확인해봅니다.

생성한 테이블을 확인하려면 아래 코드를 작성하면 됩니다.

SELECT * FROM users;

 

이렇게 하면 users의 테이블에 데이터가 있는지 확인할 수 있습니다. 처음에는 데이터를 넣지 않아서 빈 테이블이 있을것입니다. 이제 이 테이블에 데이터를 삽입해보겠습니다.

INSERT INTO users (name, email) VALUES('koras02', 'wjdgh0727@gmail.com');

데이터를 넣고 다시 테이블을 조회하면 테이블에 유저정보가 들어간 것을 볼 수 있습니다.


 

 

GitHub - Koras02/postgresql-bloging

Contribute to Koras02/postgresql-bloging development by creating an account on GitHub.

github.com

 

LIST