본문 바로가기
Database/PostgreSQL

[ PostgreSQL ] PostgreSQL이란?

by JINJINC 2023. 7. 12.
728x90
반응형

PostgreSQL이란 ?

=> PostgreSQL은 오픈 소스 객체-관계형 데이터베이스 시스템(ORDBMS)으로, Enterprise급 DBMS의 기능과 차세대 DBMS에서나 볼 수 있을 법한 기능들을 제공한다. 

DBMS (Database Management System)

- 정의 (Definition) : 응용 프로그램이 요구하는 DB구조, 변경, 제거

- 조작 (Manipulation): 삽입, 갱신, 삭제

- 제어 (Control): DB 접근할 수 있는 사용자 제한 및 성능 관리

 

관계형 데이터베이스 (Relational Database)

- 통상적으로 RDB라고 함

- 행과 열로 구분하는 2차원 테이블 형태로 구성

- 오라클 DBMS, MS SQL SERVER, MYSQL, PostgreSQL

 

 

PostgreSQL 프로세스 구조

postgreSQL  프로세스 구조

클라이언트/서버 모델을 사용한다. 서버는 데이터베이스 파일들을 관리하며, 클라이언트 애플리케이션으로부터 들어오는 연결을 수용하고, 클라이언트를 대신하여 데이터베이스 액션을 수행한다. 서버는 다중 클라이언트 연결을 처리할 수 있는데, 서버는 클라이언트의 연결 요청이 오면 각 커넥션에 대해 새로운 프로세스를 fork한다. 그리고 클라이언트는 기존 서버와의 간섭 없이 새로 생성된 서버 프로세스와 통신하게 된다

 

< PostgreSQL 특장점 >

- 유연한 객체 생성 : PostgreSQL은 다른 관계형 데이터베이스 시스템과 달리 연산자, 복합 자료형, 집계 함수, 자료형 변환자, 확장 기능 등 다양한 데이터베이스 객체를 사용자가 임의로 만들 수 있는 기능을 제공함으로써 마치 새로운 하나의 프로그래밍 언어처럼 무한한 기능을 손쉽게 구현할 수 있다.

- 상속 : java 또는 C++ 프로그래밍 언어와 같이 테이블을 만들어 그 테이블 상속 기능을 이용해 하위 테이블을 만들 수 있다. 테이블에 저장된 자료는 상위 테이블을 조회하면, 해당 테이블의 하위 테이블에 포함된 모든 자료를 조회할 수 있으며, 하위 테이블을 만들 때, 상위 테이블의 칼럼을 그대로 상속 받으면서, 하위 테이블에만 속하는 칼럼을 추가로 만들 수 있다

- 함수 : 때때로, '저장 프로시저'라고 불리는 SQL문으로 작성된 함수를 서버환경에서 사용할 수 있다. 비록 다른 언어와는 달리 제어문과 반복문을 사용하지는 못하지만, 다른 언어와 결합시킬 수 있다. 일부 언어에서는 심지어 트리거 내부에서 실행시킬 수 있다. 

 

 

 

 

클러스터

-  DB최상위 개념

-  스키마(Schema) 개체들의 논리적인 집합

 

스키마

- 테이블, 뷰, 함수,인덱스 등

- public 스키마(default) 

 

테이블

-  2차원의 표(행과 열)

-  Relation

- 개체 식별을 위한 key 존재 

 

 

<버전 확인>

디폴트 유저:  postgres

SQL shell(psql)

cmd 에서 확인하는 방법 

> psql --version 

 

cmd에서 postgreSQL접속

> psql -U [username] 

 

 

SQL Shell 명령어 

\q : psql을 종료합니다.

\l : 데이터베이스를 조회합니다.

\c : 입력한 데이터베이스로 이동

\e : 외부편집기로  sql 쿼리를 입력

\dt : 현재 데이터베이스에서 테이블을 확인 

 

PostgreSQL
postgresql

 

728x90
반응형

댓글