[PostGreSQL] PostgreSQL 이란?
객체-관계형 데이터베이스 관리 시스템(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