Skip to the content Skip to the Navigation

EDB 코리아 블로그

  • 공식웹사이트US Website
  • EDB 제품Products
  • 블로그KR Blog
  • 고객사례Customer Stories
  • EDB 문서US Docs
  • 국내 EDB 파트너KR Partners
  • 문의Contact
  • 02.501.5113Top Page

Postgres Tutorials

  1. HOME
  2. 블로그
  3. Postgres Tutorials
2025-09-11 / Last updated : 2025-09-11 Grace Postgres Tutorials

PostgreSQL 18 – fdw 연결을 위한 SCRAM 패스스루 인증

Matheus Alcantara2025년 8월 21일 PostgreSQL 18은 postgres_fdw 또는 dblink_fdw를 사용하는 사용자에게 반가운 기능을 제공합니다: SCRAM 패스스루(pass-through) 인증입니다. 이제 외부 서버(Foreign Server) 연결을 설정할 때 USER MAPPING 옵션에 평문 비밀번호를 저장할 필요가 없습니다. 다음은 이를 가능하게 한 커밋입니다: commit 761c79508e7fbc33c1b11754bdde4bd03ce9cbb3Author: Peter Eisentraut <peter@eisentraut.org>Date: Wed Jan 15 17:55:18 2025 +0100 postgres_fdw: SCRAM authentication pass-through This enables SCRAM authentication for postgres_fdw when connecting to a foreign server without having to store a plain-text password on user mapping options. This is done by saving the SCRAM ClientKey and ServerKey from the client authentication and using those instead of the plain-text password for the server-side SCRAM exchange. The new foreign-server or user-mapping option “use_scram_passthrough” enables […]

2025-08-14 / Last updated : 2025-08-14 Grace Postgres Tutorials

Postgres 오류를 스택 트레이스로 분석하기: backtrace_functions 활용

작성자: Phil Eaton작성일: 2025년 7월 31일 Postgres가 크래시(crash)하면 gdb를 사용해 스택 트레이스를 확인할 수 있습니다.그렇다면 Postgres가 크래시하지 않는 일반적인 오류는 어떻게 디버깅할 수 있을까요? 1. Postgres 17 소스 코드 빌드 먼저 Postgres 17 소스를 가져와 디버그 심볼을 포함해 빌드해 보겠습니다. $ git clone https://github.com/postgres/postgres$ cd postgres$ git checkout REL_17_STABLE$ ./configure –enable-debug –without-icu \ –prefix=$(pwd)/build \ –libdir=$(pwd)/build/lib$ make -j16 && make install 2. 데이터베이스 생성 및 시작 $ ./build/bin/initdb testdb$ ./build/bin/pg_ctl -D $(pwd)/testdb -l logfile start 3. psql로 접속 $ ./build/bin/psql postgrespsql (17.5)Type “help” for help.postgres=# 4. 간단한 오류 발생시키기 존재하지 않는 테이블을 조회해 오류를 발생시킵니다. postgres=# SELECT * FROM nothere;ERROR: relation “nothere” does not existLINE 1: SELECT * FROM nothere; […]

2025-08-08 / Last updated : 2025-08-08 Grace Postgres Tutorials

pgvector: PostgreSQL에서 벡터 데이터 활용을 위한 실전 가이드

EDB 팀2025년 9월 8일 1. pgvector란 무엇인가? pgvector는 PostgreSQL에 벡터 저장, 쿼리, 인덱싱 기능을 더하는 오픈소스 확장입니다. 이를 통해 별도 벡터 데이터베이스 없이 PostgreSQL 내에서 유사도 검색이 가능해집니다 지원 기능은 다음과 같습니다: 2. 개발 실무 적용법 – 설치부터 유사도 쿼리까지 설치 및 초기 설정 CREATE EXTENSION vector; 최근 PostgreSQL 13 이상에서 동작하며, 다양한 패키지 관리자 및 Docker, Homebrew, GitHub Actions를 통해 설치 가능 벡터 칼럼 정의 및 벡터 삽입 예시 CREATE TABLE items (id SERIAL PRIMARY KEY,embedding vector(1536));INSERT INTO items (embedding) VALUES (‘[0.1,0.2,…,0.1536]’); 유사도 쿼리 예시 SELECT * FROM itemsORDER BY embedding <-> ‘[0.2,0.1,…]’LIMIT 5; <->는 L2 거리 기반 순위, <=>는 Cosine, <#>는 Inner Product 연산자입니다 인덱스 기반 최적화 CREATE […]

2025-01-21 / Last updated : 2025-05-22 Grace Postgres Tutorials

Postgres C 코드에서 메모리 누수 찾기

필 이튼2024년 3월 27일 지난주 동안 Postgres의 WAL Sender 프로세스에서 메모리 누수를 찾는 작업을 했습니다. Valgrind와 gcc/clang의 Sanitizer를 더 잘 이해하기 위해 며칠을 보냈지만, 결국 그들로부터는 유용한 결과를 얻지 못했습니다. 마침내 bcc 도구 모음에 포함된 memleak 프로그램을 발견했고, 이를 통해 문제의 원인을 바로 찾아낼 수 있었습니다. 처음 이 과정을 이해하는 데 약간 어려움이 있었기 때문에, 제가 거친 과정을 공유하고자 합니다. 이 글에서는 의도적으로 메모리 누수를 유발하는 코드를 사용해 실험합니다. 비록 Postgres에서 발생한 일이긴 하지만, 이 글에서 Postgres에 누수를 도입하여 조사를 시작한다는 점을 제외하면 이 기술들은 폭넓게 유용합니다. 특히, 이 글의 마지막에는 실행 중인 프로그램을 수정하지 않고도 메모리 누수로 이어지는 스택 트레이스를 확인하는 방법을 알 수 있습니다. Valgrind 컴퓨터 공학을 전공하는 […]

2025-01-15 / Last updated : 2025-05-23 Grace Postgres Tutorials

PostgreSQL Linux 튜닝 및 구성: EPAS 성능 최적화 가이드

Lætitia Avrot2024년 8월 1일 EDB Postgres Advanced Server(EPAS) 및 PostgreSQL을 Linux에서 최적화할 수 있는 구성 및 튜닝 권장 사항을 확인하세요. 이 튜닝 가이드는 2020년에 Dave Page, Devrim Günduz, Shaun Thomas, Stacy Scoggins, Vibhor Kumar, Vik Fearing이 작성한 원본을 기반으로 합니다. 2024년 업데이트 버전은 Lætitia Avrot와 Vibhor Kumar가 작성했습니다. 이 권장 사항은 시작점으로, 벤치마크 및 기타 측정 작업이 추가로 필요합니다. 이는 모든 구성 설정을 다룬 포괄적인 목록이 아니며, 기본값으로 설정되지 않은 가장 중요한 매개변수 설정만을 포함합니다. 최적의 튜닝을 위해 EDB의 전문 서비스 팀 또는 EDB의 공인 파트너와 협력하세요. 강력한 PostgreSQL 서버 설계하기 다음 내용은 PostgreSQL용 베어메탈 서버와 가상 머신(VM)에 초점을 맞추고 있습니다. 향후 버전에서는 클라우드 및 컨테이너화된 설계가 포함될 수 있습니다. […]

2025-01-14 / Last updated : 2025-05-23 Grace Postgres Tutorials

PostgreSQL checkpoint 튜닝: 성능 최적화 가이드

Tomas Vondra2024년 7월 11일 PostgreSQL 체크포인트를 적절히 조정하는 것은 시스템에서 많은 쓰기 작업이 발생할 때 성능을 최적화하는 데 필수적입니다. 그러나 체크포인트는 커뮤니티 메일링 리스트나 고객 지원 및 컨설팅 과정에서 자주 혼란과 설정 문제로 지적되는 영역 중 하나입니다. 이 글에서는 PostgreSQL 체크포인트의 개념, 목적, 데이터베이스에서의 구현 방식, 그리고 이를 효과적으로 조정하는 방법에 대해 자세히 다룹니다. PostgreSQL 체크포인트의 목적은 무엇인가요? PostgreSQL은 **WAL(Write-Ahead Log)**을 사용하는 데이터베이스 중 하나입니다. 데이터 파일에 변경 작업이 수행되기 전에, 변경 사항은 별도의 로그(변경 스트림)에 기록됩니다. 이 방식은 내구성을 제공하는데, 시스템 충돌 시 데이터베이스가 WAL을 사용해 복구를 수행하고, WAL에서 변경 사항을 읽어 데이터 파일에 다시 적용할 수 있기 때문입니다. 처음에는 이러한 방식이 비효율적으로 보일 수 있습니다. 데이터 파일을 변경하면서 […]

2025-01-10 / Last updated : 2025-05-23 Grace Postgres Tutorials

PostgreSQL 성능 최적화: 데이터베이스 서버 튜닝 가이드

작성자: Vik Fearing2024년 9월 20일 하드웨어에서 PostgreSQL 쿼리 최적화까지 데이터베이스 성능을 향상시키는 방법 이 문서는 PostgreSQL 및 EDB Postgres Advanced Server(EPAS) 10~13 버전의 성능 튜닝 방법을 소개합니다. 사용된 시스템은 RHEL 계열의 Linux 배포판 8버전이며, 여기서 제시하는 내용은 일반적인 가이드라인으로, 실제 튜닝 세부 사항은 워크로드에 따라 달라질 수 있습니다. 하지만 대부분의 배포 환경에서 시작점으로 활용할 수 있습니다. 튜닝은 하드웨어에서 시작해 스택 상단으로 진행하며, 최종적으로 애플리케이션의 SQL 쿼리 최적화를 다룹니다. 스택 상단으로 갈수록 워크로드에 따른 조정이 중요해지기 때문에, 가장 일반적인 부분부터 시작해 워크로드에 특화된 항목으로 점차 구체화합니다. 머신 설계하기 이 문서는 베어 메탈과 가상화된 머신에 초점을 맞추고 있습니다. 향후 버전에서는 클라우드 및 컨테이너화된 디자인도 포함될 예정입니다. 베어 메탈 PostgreSQL용 베어 메탈 서버를 […]

2024-12-26 / Last updated : 2025-05-22 Grace Postgres Tutorials

PostgreSQL 성능 최적화: 데이터베이스 매개변수 구성 및 튜닝 가이드

스왑닐 수야완시10월 11, 2024 PostgreSQL은 리소스가 부족한 환경과 다양한 다른 애플리케이션과 공유되는 환경에서도 효율적으로 실행할 수 있는 매우 다재다능한 데이터베이스 시스템입니다. 다양한 환경에서 제대로 실행되도록 하기 위해 기본 구성은 매우 보수적으로 되어 있으며 고성능 프로덕션 데이터베이스에는 적합하지 않습니다. 여기에 지리공간 데이터베이스는 사용 패턴이 다르고 데이터가 비지리공간 데이터베이스보다 훨씬 적은 수의 훨씬 큰 레코드로 구성되는 경향이 있다는 사실을 더하면 기본 구성이 우리의 목적에 완전히 적합하지 않다는 것을 알 수 있습니다. 모두가 빠른 데이터베이스를 원한다는 데에는 이견이 없을 것입니다. 하지만 ‘어떤 관점에서 빠름을 추구하는가?’가 더 중요합니다. 데이터베이스에서 ‘빠름’을 결정하는 두 가지 측면 이 두 가지는 서로 연관되어 있지만 확실히 동일하지는 않습니다. 두 가지 모두 I/O 측면에서 완전히 다른 요구 사항을 가지고 있습니다. […]

2024-12-13 / Last updated : 2025-05-22 Grace Postgres Tutorials

오라클(Oracle) 호환성 모드에서 Postgres를 실행하는 방법

EDB 팀8월 08, 2024 Oracle을 오픈 소스 플랫폼으로 손쉽게 마이그레이션하고, EDB Postgres Advanced Server와의 완벽한 호환성을 경험하세요. 엔터프라이즈DB(EDB) 버전의 PostgreSQL의 가장 큰 장점 중 하나는 Oracle 호환성이며, 전문가 팀과 함께 기존 쿼리와 애플리케이션을 사용할 수 있다는 점입니다. Oracle 호환성은 EDB Postgres 고급 서버(EPAS)로 제한되므로 EDB 사이트에서 특정 설치 프로그램 또는 RPM을 다운로드하세요. 60일 동안 제공되는 평가판을 통해 모든 기능을 이용할 수 있습니다. 오라클(Oracle) 호환성 여부 확인 방법 설치 중 Oracle 호환성 설정하기 EDB Postgres Advanced Server를 설치한 후 클러스터를 초기화합니다. edb-as-11.sysconfig 파일을 편집하여 Oracle 호환성 옵션을 설정합니다: 파일이 없는 경우 “–no-redwood-compat” 줄에 해시(#)를 추가하여 EPAS 인스턴스가 Oracle과 호환되는지 확인합니다. 참고: 설치된 서버가 있는 경우, 초기화 클러스터 옵션(initdb)에 “–no-redwood-compat”을 사용하여 비오라클 […]

2024-12-12 / Last updated : 2025-05-22 Grace Postgres Tutorials

Oracle to PostgreSQL 데이터베이스 마이그레이션: GitHub와 DevOps를 활용한 효율적인 전환 방법

작성자 비브호르 쿠마르 2024년 8월 7일 이 가이드를 활용하여 Oracle에서 PostgreSQL로 효율적으로 마이그레이션하세요. DevOps와 GitHub를 활용하여 Postgres와 데이터베이스 마이그레이션을 성공적으로 수행하세요. 많은 조직들이 오라클에서 강력하고 비용 효율적인 오픈 소스 PostgreSQL로 마이그레이션하고 있습니다. EDB Postgres Advanced Server(EPAS)는 오라클 호환성 기능을 통해 이러한 전환을 원활하게 만듭니다. 그러나 대규모 마이그레이션에는 여전히 신중한 계획과 올바른 도구가 필요합니다. 이 블로그 게시물에서는 GitHub를 핵심으로 하는 DevOps 관행의 힘을 활용하는 포괄적인 마이그레이션 전략과 프로세스를 간소화하는 특수 EDB 도구를 간략하게 설명합니다. Oracle to PostgreSQL 데이터베이스 마이그레이션을 위한 초기 스키마 변환 다음 워크플로우는 EDB의 마이그레이션 툴킷과 마이그레이션 포털을 기반으로 합니다. Oracle to PostgreSQL 데이터베이스 마이그레이션 중 스키마 관리 데이터베이스 마이그레이션이 진행됨에 따라 GitHub가 스키마 관리를 위한 중앙 허브가 됩니다. […]

2024-12-10 / Last updated : 2025-05-21 Grace Postgres Tutorials

버그의 여정: 고객 문제 제기에서 PostgreSQL 커밋까지

딜립 쿠마르 작성 2024년 5월 9일 소프트웨어 개발의 복잡한 세계에서 버그는 애플리케이션과 시스템의 원활한 작동을 방해하는 은밀한 존재입니다. 때로는 이러한 버그와의 여정이 고객 문제 제기로 시작되어 조사, 해결, 그리고 궁극적으로는 더욱 견고한 소프트웨어 생태계를 구축하는 일련의 과정으로 이어집니다. 이번 글에서는 하나의 버그가 고객 문제 제기에서 패치 릴리스, 나아가 PostgreSQL의 중요한 서브시스템 재설계로 이어지는 과정을 살펴보겠습니다. 1. 시작: 고객 문제 제기 버그의 여정은 은행 서비스의 데이터베이스 서버에 과도한 부하로 인해 안정성이 위협받는 중요한 문제가 제기된 지원 티켓에서 시작되었습니다.지원팀과 함께 고객과의 통화에서 서버가 과부하로 인해 새로운 연결을 수락할 수 없다는 사실이 드러났습니다. 2. 발견 및 보고 PostgreSQL 개발자로서 첫 번째 단계는 시스템이 대부분의 시간을 소비하는 대기 이벤트를 식별하는 것이었습니다.다음 쿼리를 실행하여 대기 […]

2024-12-10 / Last updated : 2025-05-22 Grace Postgres Tutorials

SQL 인젝션 방어 전략: OWASP와 CISA 권고사항 활용하기

작성자: 니콜 홀든 2024년 4월 29일 SQL 인젝션: 위험성과 사례의 공통점 2024년 3월, CISA는 SQL 인젝션(SQLi)과 관련된 다음과 같은 권고문을 발표했습니다: “디자인부터 안전: 소프트웨어에서 SQL 인젝션 취약점 제거“. SQL 인젝션은 데이터베이스 관리자와 개발자가 방어해야 할 가장 널리 퍼져 있고, 파괴적인 취약점 유형 중 하나입니다. CISA에 따르면, “SQL 인젝션 취약점은 사용자 입력을 SQL 명령에 직접 삽입함으로써 공격자가 임의의 쿼리를 실행할 수 있도록 하는 것이다. 이는 소프트웨어 개발자가 보안 모범 사례를 따르지 않아 데이터베이스 쿼리와 사용자 제공 데이터를 혼합하기 때문에 발생한다”고 합니다. SQL 인젝션이 악용되면, 공격자는 민감한 데이터에 무단 접근하거나 데이터베이스 내용을 수정하며, 심지어는 서버에서 임의의 명령을 실행할 수도 있습니다. 성공적인 SQL 인젝션 공격의 결과는 고객 정보의 유출, 금전적 손실, 평판 훼손, […]

2024-12-04 / Last updated : 2025-05-22 Grace Postgres Tutorials

PostgreSQL로 검색 기능 향상: 표준에서 시맨틱까지

Ajit Gadge 2024년 4월 25일 저는 디지털 세계에서 “검색”이라는 주제에 항상 매료됩니다. 데이터를 텍스트로 바라볼 때, 저는 텍스트가 다른 데이터(예: 숫자는 측정과 계산을 위해 태어난 데이터 ☺)와 비교해 검색을 위해 태어난 데이터라고 항상 믿습니다 ☺. 디지털 시대에 방대한 양의 텍스트 데이터를 효율적이고 효과적으로 분류하는 능력은 매우 중요합니다.   PostgreSQL은 강력한 오픈소스 관계형 데이터베이스로, 간단한 패턴 매칭에서 언어 기반 검색, 더 복잡한 시맨틱 검색 이해에 이르기까지 다양한 검색 기능을 제공합니다. 이 글에서는 “PostgreSQL & 벡터”와 관련된 기사를 검색하는 예를 통해 표준 검색, 풀 텍스트 검색, 시맨틱 검색 방법의 차이점, 사용 사례, 내부 작동 방식을 탐구합니다. 몇 가지 예를 통해 이를 이해해 봅시다. 제가 준비한 예제 데이터는 몇 개의 기사에서 가져온 텍스트를 […]

2024-12-02 / Last updated : 2025-05-22 Grace Postgres Tutorials

EDB Tutorial: EDB Query Advisor를 최대한 활용하는 방법

작성자: Dilip Kumar2023년 8월 7일 엔터프라이즈급 데이터베이스와 DBA의 역할 엔터프라이즈급 데이터베이스는 쿼리 성능을 극대화하는 역할을 담당하는 DBA(Database Administrator)가 필수적입니다. 특히, 대규모 데이터베이스를 운영할 때 DBA의 작업을 최소화하는 것이 중요합니다. 성능을 개선하는 주요 과제 중 하나는 적절한 인덱스를 선택하는 것입니다. 이를 효과적으로 수행하려면 DBA는 데이터베이스 워크로드의 광범위한 부분을 분석한 뒤, 정기적으로 나타나고 워크로드에서 큰 비중을 차지하는 쿼리 계획을 분석해야 합니다. 이후 DBA는 어떤 인덱스가 도움이 될지 평가할 수 있습니다. 하지만, 경우에 따라 이러한 분석이 잘못될 수도 있고, 특정 인덱스를 추가하면 성능이 오히려 저하될 수도 있습니다. 자동 인덱스 선택 도구의 필요성 자동 인덱스 선택 도구는 실제 인덱스를 생성하지 않고도 워크로드 전반에 유용한 인덱스를 식별하는 데 도움을 줄 수 있습니다. EDB Query Advisor는 […]

카테고리

  • EDB 제품 (10)
  • 고객사례 (8)
  • 블로그 (142)
    • EDB Lab (38)
    • Postgres Tutorials (14)
    • Product Updates (21)
    • Technical Blog (55)
    • 📬EDB 엔지니어링 뉴스레터 (8)
  • 개인정보보호
  • 문의하기

Copyright © EDB 코리아 블로그 All Rights Reserved.

Powered by WordPress with Lightning Theme & VK All in One Expansion Unit

MENU
  • 공식웹사이트
  • EDB 제품
  • 블로그
  • 고객사례
  • EDB 문서
  • 국내 EDB 파트너
  • 문의
  • 02.501.5113
×
  • 엔터프라이즈급 데이터베이스와 DBA의 역할
  • 자동 인덱스 선택 도구의 필요성
  • EDB Query Advisor의 차별점
  • 작동 원리
  • Query Advisor 사용 방법
  • EDB Query Advisor 구성
  • Query Advisor 구성 파라미터
  • 인덱스 추천 생성
→ 목차 보기