본문 바로가기
DataBase/PostgreSQL

[개요] DBMS 개요 및 PostgreSQL 특징

by 예스p 2023. 4. 4.

DBMS

DataBase Management System에 대해 알아보고

그 중 한 종류인 PostgreSQL을 시작해본다


DBMS란?

  • 정의
    데이터베이스라는 데이터의 집합을 만들고, 저장 및 관리할 수 있는 기능들을 제공하는 응용 프로그램
    종류에 따라 DataBase Server까지 지원하기도 한다.
  • 종류
    Oracle, MySQL, MariaDB, Microsoft Access, PostgreSQL, ...
  • 관리도구
    : DBMS를 전문적으로 관리하기 위한 프로그램
    sqldeveloper(Oracle), MySQL Workbench(MySQL), DBeaver(다양한 DBMS지원)...

 

SQL이란?

  • Structured Query Language
  • 관계형 데이터베이스에서 사용되는 언어로 특정 회사에서 만드는 것이 아니라 국제표준화기구에서 SQL에 대한 표준을 정해서 발표
  • DBMS는 추가로 자신만의 기능도 가지고 있어서 이렇게 변경된 SQL을 오라클은 PL/SQL, SQL서버는 T-SQL, MySQL은 SQL로 부른다.

 

 

DB서버와 DB

  • DB서버
    - DBMS를 실행하는 서버
    - 데이터베이스를 관리하고, 저장된 데이터에 대한 요청을 처리하는 소프트웨어
    - 데이터베이스에 접근하고 데이터베이스와 관련된 작업을 수행
  • DB
    - 서버에 의해 관리되는 데이터의 구조화된 집합
    - 테이블, 인덱스, 관계 등으로 구성되며, 실제 데이터가 저장되는 공간

 

 


PostgreSQL 기본 사용법

다른 DBMS와 구분되는 PostgreSQL의 특징과 방언에 대해 알아보자


 

PostgreSQL 이란?

  • 오픈 소스 관계형 DBMS이자 프리웨어(Freeware)
    *오픈소스란? 소스코드와 설계도를 공개해서 누구나 열람할 수 있는 소프트웨어
  • 자체 데이터유형, 인덱스 유형, 기능언어 등을 정의할 수 있으며, 사용자 정의 플러그인을 개발할 수 있다.

 

 

PostgreSQl의 구조

  • PostgreSQL은 위 이미지와 같은 구조를 가지고 있으며, 각 기능은 아래와 같다.
    Users/Groups : 사용자 정보 관리
    Tablespaces : Database의 Object가 저장 된 파일시스템의 경로 관리
  • PostgreSQL의 database는 여러개의 schema로 구성되어있으며, schema는 object들의 논리적인 집합을 의미한다.
    Databases : 실제 정보가 저장되는 Database관리
    Schemas : PostgreSQL 내부에서 Database를 논리적으로 구분하여 관리
    Tables : Row와 Column으로 구성된 실제 정보가 저장되는 공간
    Views : 읽기 전용의 가상 테이블로 제한된 정보만 제공하기 위한 공간

 

 

독자적인 특징

  • 소문자가 기본이다.
    sql문에 대문자가 섞여있더라도 기본적으로 소문자로 인식한다
    대소문자를 구분하고 싶다면 명시적으로 쌍따옴표("")로 감싸주어야한다.
    cf. pgAdmin을 통해 DB object를 생성할때는 항상 쌍따옴표가 붙으므로 입력한 대소문자가 그대로 반영된다.
  • ""는 문자열 데이터에 쓸 수 없다
    ""를 쓰면 칼럼 혹은 테이블로 인식한다. 문자열에는 작은따옴표('')를 써야한다.

 


시작하기


 

설치방법

  1. 공식사이트 접속 -  [Downloads]
  2. 운영체제 선택 후 [Download the installer] 클릭
  3. 적당한 버전을 선택하여 설치파일 다운로드(현재 15버전까지 출시, 다운은 19년도 출시된 11버전 선택)
  4. 설치 설정
    - Select Component에서는 4개 모두 체크한다.
    - 기본 생성되는 superuser 계정인 postgres의 비밀번호를 설정한다(postgres 로 임의지정)
    - 기본적으로 지정된 포트번호는 5432
    - Locale에서 Korean 선택
  5. 설치 확인
    - SQL shell(psql) 프로그램 실행
    - 명령 줄에서 엔터를 치다보면 비밀번호 입력단계가 나온다.('postgres' 입력)
    - SELECT version(); 입력 >> 설치된 버전 확인

 

 

DB서버 및 DB 생성

  • 서버생성
    1. pgAdmin 4 실행 - 비밀번호 'postgres' 입력
    2. 왼편 Servers 오른클릭 - [Register] - [Server]
    3. General 탭 Name에 원하는 이름 입력
    4. Connection 탭
    - Hostname에 localhost 입력 ** IPv4 입력하면 서버 공유 가능 상세기술하기
    - 계정명 postgres로 그대로 두고 Password 에 'postgres' 입력 및 Save password 활성화 - [Save]
  • DB생성
    1. 생성된 서버 오른클릭 - [Create] - [Database]
    2. General 탭 Database에 원하는 이름 입력 - [Save]
    3. 디폴트 유저로 postgres가 생성되어있다. (모든 권한 있음)

 

 

명령프롬프트 정보확인

  • 환경변수 등록
    - SQL shell(psql)외에 cmd에서 psql을 사용할 수 있도록 환경변수에 등록한다.
    1. 시작 - [시스템 환경 변수 편집]  - [고급] - [환경 변수] 버튼클릭
    2. 시스템 변수 중에서 "Path" 변수를 선택 - [편집]
    3. [새로 만들기] 클릭 후 PostgreSQL의 bin 폴더 경로를 입력
       ex) C:\Program Files\PostgreSQL\버전입력\bin 
    4. 시스템을 재시작
  • PostgreSQL 접속
    1. cmd창에 "psql -U postgres" 입력
    2. 암호 "postgres" 입력
    3. postgres=# 프롬프트 확인
  • 명령어종류
    - postgres=# \l : 데이터베이스 확인
    - postgres=# \c DB이름 : 데이터베이스 접속 (DB이름=# 로 명령프롬프트 변경)
    - DB이름=# \dt : 데이터베이스에 있는 모든 테이블 확인

 

 

 

 

 

댓글