데이터베이스 기술/POSTGRESQL 21

PostgreSQL을 C언어로 사용해보자.

PostgreSQL을 C언어로 사용해보자. Postgres 다운로드 페이지에서 실행파일이 아닌 소스코드를 다운로드 받아 C언어로 제작된 Client에서 코딩을 통해 쿼리를 실행 하는 방법에 대해 간단한 예제코드와 함께 알아보자. (본 과정은 MacOS의 XCode기반으로 진행했습니다.) 환경설정 1. PostgreSQL 소스코드 git clone 터미널에 아래 명령문을 이용하여 소스코드를 가져온다. git clone git@github.com:postgres/postgres.git 2. PostgreSQL 설치 ./configure 실행 cd postgres ./configure 아래와 같이 메세지가 나온다면 가이드에 따라 ./configure --without-icu 명령어를 실행한다. configur..

PostgreSQL Extension 소개

블로그 글을 보시기 전에 2024년 비트나인의 첫 번째 월간 백서인 '오픈소스 DB 전성시대, PostgreSQL을 선택하는 이유'를 읽어보세요! ▶ 지금 다운로드하기! PostgreSQL에서는 Extension이라는 기능을 기반으로 DB에서 제공하지 않는 기능을 사용자가 생성 후 설치하여 DB에서 기본 제공되는 함수처럼 사용할 수 있습니다. 이 문서는 Extension 에 대해 설명하고 이해하기 위해 포괄적으로 소개하기 위한 문서이며 다음 섹션을 통해 살펴보겠습니다. Extension Extension 생성 방법 Extension 설치 방법 Extension 소개 Extension 세계적으로 가장 많이 사용하고 있는 RDBMS 인 ORACLE 뿐 만 아니라 MySQL, SQL Server 등의 다른 R..

가장 많이 사용하는 PostgreSQL의 오픈소스 익스텐션은?

가장 많이 사용하는 PostgreSQL의 오픈소스 익스텐션은? PostgreSQL을 사용하는 경우 비즈니스 요구사항에 따라 기능 개선 및 추가를 위해 다양한 오픈소스 익스텐션을 활용할 수 있습니다. 이러한 익스텐션은 다양한 PostgreSQL 커뮤니티에서 개발되고 있습니다. 수백 개의 PostgreSQL용 OSS 확장 프로그램이 있으며, 그 중 상당수가 프로덕션 환경에서 사용하고 있습니다. 수많은 익스텐션들이 있지만 각각 사양을 확인하고 제대로 동작하는지를 검증하여 요구 사항에 맞게 최적의 선택을 하는 것은 쉽지 않습니다. 이 글에서는 비트나인의 제품라인을 찾는 고객과 일반 사용자가 자주 사용할만한 PG 익스텐션들을 소개하고자 합니다. 이 글을 통해 OSS 익스텐션을 선택하거나 비트나인의 AgensSQL..

Vacuum이해와 사용법

PostgreSQL에서 Vacuum을 이해하기 위해서는 Dead Tuple존재의미를 알아야 하며 Dead Tuple은 어떻게 해서 생기게 된 것인지 알아야 한다. PostgreSQL에는 여러 좋은 기능들이 많지만 Dead Tuple의 존재는 가장 아픈 곳이기도 하다. 아픈 곳을 Vacuum이라는 기능으로 최적화하며 고쳐 나가는 것이 중요하다. Vacuum을 잘 활용 하여 수집된 통계 정보로 최적의 쿼리 플랜을 유도 할 수도 있다. 이번 장에서는 Vacuum의 생겨난 배경부터 최적화까지 설명하면서 Vacuum을 좀더 쉽게 이해하고 관리방안을 찾도록 하는데 목적을 두고 있다. ​ [PostgreSQL에서 Vacuum 생겨난 배경] ​PostgreSQL에서 Dead Tuple이 생겨난 배경을 설명하기 위해서는..

PostgreSQL의 Advanced Feature(Table Inheritance)의 효율적인 사용 방법

서론 [Powerful Advanced Feature : Table Inheritance] PostgreSQL에는 강력한 Table Inheritance 기능은 객체지향 DB의 특징으로 테이블 간에 상속 관계를 설정하는 기능을 말합니다. 이를 통해 한 테이블(상위 테이블)의 스키마와 데이터를 다른 테이블(하위 테이블)에서 재사용할 수 있게 됩니다. 즉, 상위 테이블의 모든 열과 인덱스가 하위 테이블에서도 그대로 사용되며, 상속 관계를 설정함으로써 데이터 모델링과 관리에 유용한 기능을 제공합니다. 여기서는 이 Table Inheritance기능을 어떻게 사용하는지 알아보고, 이를 활용하여 데이터를 효율적으로 관리하는 방안과 대용량 데이터를 효율적 저장하는 방안을 알아보겠습니다. 본론 [Table Inher..