반응형

설명 부분을 생략하셔도 좋습니다.

 

PostgreSQL이란?

PostgreSQL(포스트그레스큐엘)은 오픈 소스 객체 관계형 데이터베이스 관리 시스템(ORDBMS)으로, 높은 확장성과 안정성을 자랑하는 데이터베이스입니다. 1986년 캘리포니아 대학교 버클리에서 시작된 POSTGRES 프로젝트에서 유래했으며, 이후 SQL 표준을 지원하면서 현재의 PostgreSQL로 발전했습니다.

 

PostgreSQL과 다른 DBMS 비교

비교 항목PostgreSQLMySQLOracleDBMS SQL Server

라이선스 오픈 소스 오픈 소스 유료 유료
ACID 지원 완벽 지원 기본 지원(엔진에 따라 다름) 완벽 지원 완벽 지원
확장성 높음 보통 매우 높음 높음
JSON 지원 강력한 지원 기본 지원 일부 지원 일부 지원
복제 기능 기본 제공 기본 제공 고급 기능 고급 기능
SQL 표준 준수 매우 우수 다소 부족 매우 우수 우수
트리거 & 저장 프로시저 지원 제한적 지원 지원 지원

 

PostgreSQL의 특징

  1. 오픈 소스 및 무료
    • 누구나 자유롭게 사용할 수 있으며, 강력한 커뮤니티 지원이 제공됨.
  2. ACID(원자성, 일관성, 격리성, 지속성) 지원
    • 트랜잭션 관리가 철저하여 데이터 무결성을 보장.
  3. 확장성 (Scalability)
    • JSON, XML 같은 비정형 데이터도 지원하며, 확장 모듈을 활용하여 기능을 추가 가능.
    • 샤딩과 파티셔닝을 통해 수평 확장이 가능함.
  4. 다양한 데이터 타입 지원
    • 정수, 실수, 문자형뿐만 아니라 JSON, 배열, hstore(키-값 저장), 지리공간 데이터(PostGIS) 등의 다양한 데이터 타입 제공.
  5. 강력한 SQL 표준 지원
    • 윈도우 함수, 공통 테이블 표현식(CTE), 서브쿼리 최적화 등 최신 SQL 기능을 포함.
  6. 고급 확장 기능
    • Stored Procedure 및 트리거(Trigger)
    • 다중 언어 지원(PL/pgSQL, Python, Perl, Tcl 등)
    • **Foreign Data Wrapper(FDW)**를 통한 외부 데이터 소스 연결 가능.
  7. 보안 기능
    • 강력한 사용자 권한 관리 및 인증 방식 지원 (MD5, SCRAM-SHA-256 등)
    • SSL/TLS 암호화 지원.
  8. 복제 및 고가용성(High Availability)
    • 리플리케이션(Replication): 기본적으로 마스터-슬레이브 스트리밍 복제를 지원.
    • 분산 데이터베이스: Patroni, Pgpool-II, BDR 등의 툴을 활용하여 고가용성 환경 구축 가능.

 

PostgreSQL 사용 사례

  1. 웹 애플리케이션: Django, Ruby on Rails, Node.js와 같은 웹 프레임워크와 잘 어울림.
  2. 대규모 데이터 분석: OLAP(온라인 분석 처리)에 적합하며, 대용량 데이터 처리 가능.
  3. GIS(지리 정보 시스템): PostGIS 확장을 통해 공간 데이터를 효과적으로 관리.
  4. 블록체인 및 핀테크: 금융 서비스 및 암호화폐 프로젝트에서 데이터의 무결성과 신뢰성을 보장하기 위해 사용.

 

PostgreSQL 윈도우 설치 방법

1. 아래 PostgreSQL 다운로드 사이트로 접속합니다.
https://www.postgresql.org/download/windows/

 

2. 아래 Download the installer 을 클릭합니다.

 

3. 본인이 설치할 버전을 클릭한 후 다운로드 해줍니다.

 

4. 클릭시 바로 다운로드가 시작되는걸 알 수 있습니다.

 

5. 설치된 프로그램을 실행시킬 경우 

 

 

 

 

잠깐! 비밀번호 분실시 다시 찾는 절차가 매우 복잡하니 절대 까먹지 않도록 합니다!!!

매우 고생한 기억이 있습니다, 여러분은 절대 그러지 마세요!!

 

 

이번 설치 방법에 대해서는 기본 포트를 그대로 이용하겠습니다.

대신 아래 내용을 한번은 꼭 참고해주세요!

PostgreSQL의 기본 포트 및 권장 포트 설정

1. 기본 포트

  • PostgreSQL의 기본 포트는 5432 입니다.
  • 대부분의 애플리케이션과 기본 설정이 5432로 되어 있어, 특별한 이유가 없다면 그대로 사용하는 것이 편리합니다.

2. 포트 변경이 필요한 경우

보안 강화를 위해 기본 포트 5432를 그대로 사용하기보다는, 다른 포트로 변경하는 것도 고려할 수 있습니다.

  • 기본 포트를 그대로 두면 공격자가 포트를 쉽게 추측할 수 있기 때문에, 보안 강화를 위해 변경하는 것이 유리할 수 있음.
  • 방화벽 설정이 필요하거나, 같은 서버에서 여러 개의 PostgreSQL 인스턴스를 운영할 경우 포트를 변경해야 할 수도 있음.

3. 추천 포트 설정

  • 5432 (기본값): 기본 포트를 유지하면 관리가 편리함.
  • 6000~9999: 잘 알려지지 않은 포트를 사용하여 보안을 강화할 수 있음.
  • 보다 높은 포트(10,000 이상): 충돌 위험이 적으며, 네트워크 스캐닝 공격을 피할 수 있음.

4. 보안 고려사항

  • 방화벽 설정: 변경한 포트에 대해 방화벽을 통해 특정 IP에서만 접근하도록 설정.
  • pg_hba.conf 설정: 특정 IP 또는 네트워크에서만 접근 허용.
  • SSL/TLS 적용: 암호화를 활성화하여 보안 강화.

5. 결론

  • 내부 네트워크에서는 5432를 유지하는 것이 편리함.
  • 외부에 노출되는 서버의 경우, 6000~9999 또는 10000 이상의 포트로 변경하여 보안성을 높이는 것이 추천됨.

 

 

 

 

마지막 절차를 마치면 설치가 완료됩니다.

반응형

+ Recent posts