태그: PostgreSQL
20편
-
PostgreSQL 뜻과 특징: 포스트그레스큐엘은 어떤 데이터베이스인가
PostgreSQL 뜻과 발음, 포스트그레스라는 이름의 유래부터 MVCC·ACID·확장성 같은 핵심 특징, MySQL과의 차이, Docker로 설치해 첫 쿼리를 실행하는 방법까지 초보자 눈높이에서 오류 메시지와 함께 정리합니다.
-
Supabase + Next.js 실전: @supabase/ssr 클라이언트 설정과 RLS가 핵심인 이유
Next.js에서 @supabase/ssr로 서버용·브라우저용 클라이언트를 나눠 만들고 인증, PostgREST 쿼리, postgres_changes 실시간 구독, 스토리지, Deno 기반 Edge Functions를 붙이는 흐름을 짚습니다. auth.uid() RLS 정책 예시도 담았습니다.
-
Drizzle ORM 실전: SQL에 가까운 TypeScript 쿼리, 마이그레이션, 서버리스·Edge에서 막히는 지점
Drizzle ORM의 스키마·CRUD·관계 쿼리·트랜잭션·drizzle-kit 마이그레이션을 정리하고, v1의 Relational Queries v2 변경, Prisma 7 이후 달라진 비교 기준, PgBouncer에서 prepare: false, neon-http와 D1의 트랜잭션 제약 같은 실무 함정을 다룹니다.
-
pgvector와 Qdrant로 RAG 벡터 검색 만들기: 임베딩 저장, HNSW 인덱스, 하이브리드 검색
PostgreSQL 확장인 pgvector와 전용 벡터 DB Qdrant에 임베딩을 저장하고 cosine 유사도와 HNSW 인덱스로 검색하는 방법, payload 필터링, 키워드와 벡터를 섞는 하이브리드 검색, LangChain RAG 파이프라인을 다룹니다.
-
Prisma로 타입 안전한 DB 접근: 스키마, 마이그레이션, 관계 쿼리, 트랜잭션, 블로그 예제
Prisma로 타입 안전한 데이터베이스 접근을 구현하는 방법. TypeORM·Sequelize와의 비교, 프로젝트 설정, Prisma Schema, 마이그레이션, Prisma Client, 관계 쿼리, 트랜잭션, 성능 최적화를 블로그 예제로 다룹니다.
-
데이터베이스 인덱싱 심화 | B-트리·클러스터드·스캔/시크·커버링·운영 패턴
인덱스를 추가했는데도 풀 스캔이 나오는 이유를 B+트리 구조, 클러스터드와 보조 인덱스의 차이, 스캔과 시크의 비용 차이로 설명합니다. InnoDB와 PostgreSQL에서 커버링 인덱스를 만드는 법, 부분 인덱스와 시계열 테이블 인덱싱 패턴도 다룹니다.
-
데이터베이스 트랜잭션 심화 — MVCC·2PL·데드락·WAL·실무 패턴
트랜잭션(transaction)은 여러 읽기·쓰기를 하나의 논리 단위로 묶어 원자성(atomicity), 일관성(consistency), 격리성(isolation), 지속성(durability)—즉 ACID.
-
Electric SQL로 로컬 우선 앱 만들기: Postgres Shape 동기화, PGlite, 쓰기·충돌 전략
Electric SQL로 Postgres→로컬 동기화를 구축하는 고급 가이드. Shape, SQLite/PGlite, 쓰기 패턴·충돌 처리, TypeScript·React 연동과 오프라인 앱 설계까지 정리합니다.
-
PostgreSQL 고급 최적화 가이드 — 쿼리 성능 튜닝·인덱스·파티셔닝·복제
EXPLAIN ANALYZE 해석, B-tree·GIN·GiST·BRIN 인덱스, 파티셔닝·샤딩, PgBouncer, Vacuum·Autovacuum, 복제·HA까지 PostgreSQL 성능 튜닝을 한 번에 정리한 실전 가이드.
-
Neon 서버리스 Postgres: 스토리지·컴퓨트 분리, 브랜칭, 연결 풀링, Drizzle·Prisma·Vercel 연동
Neon 서버리스 Postgres의 스토리지·컴퓨트 분리 구조와 브랜치로 프리뷰 환경 DB를 만드는 방법, 서버리스 함수에서 연결 풀러와 @neondatabase/serverless 드라이버를 고르는 기준, 슬립 후 콜드 스타트, Drizzle·Prisma·Vercel 연동을 다룹니다.
-
Render로 서비스 배포하기: Web Service, Static Site, PostgreSQL, Cron Jobs, render.yaml
Render로 앱을 배포하는 방법. Web Service와 Static Site 배포, PostgreSQL, 환경 변수, Cron Jobs, 도메인 설정, render.yaml로 인프라를 코드로 관리하는 방법을 예제로 정리합니다.
-
PostgreSQL 고급 가이드 | 인덱스·쿼리 최적화·파티셔닝·복제·백업 전략
PostgreSQL의 MVCC와 VACUUM, WAL 원리를 짚고 B-Tree·GIN 인덱스 전략, EXPLAIN ANALYZE 쿼리 튜닝, CTE와 서브쿼리 비교, pg_partman 범위 파티셔닝, 스트리밍·논리 복제, pg_dump·pg_basebackup 백업을 다룹니다.
-
Docker Compose로 Node API·PostgreSQL·Redis 한 번에 띄우기
Node.js API, PostgreSQL, Redis를 docker-compose.yml 하나로 정의하고 .env 관리, /health 헬스체크와 depends_on 조건, 볼륨, 재시작 정책, 리소스 제한, 프로파일, 마이그레이션 실행 시점을 실무 템플릿으로 설명합니다.
-
PostgreSQL vs MySQL 차이와 선택 가이드 | 스키마·트랜잭션·운영
새 프로젝트에서 PostgreSQL과 MySQL 중 무엇을 고를지 스키마와 데이터 타입, MVCC와 격리 수준, DDL 트랜잭션, CTE·윈도 함수·풀텍스트 검색, 복제와 백업 운영 관점에서 비교합니다. Node.js 환경과 팀 상황별 선택 기준도 제시합니다.
-
SQL vs NoSQL: 데이터 모델·일관성·확장성 차이와 선택 기준
MySQL·PostgreSQL 같은 관계형 DB와 MongoDB·Redis 같은 NoSQL이 데이터 모델, 일관성, 수평 확장 방식에서 어떻게 다른지 비교합니다. 선택 플로우차트와 시나리오별 권장 조합, 둘을 함께 쓰는 하이브리드 구성까지 다룹니다.
-
Node.js 데이터베이스 연동 | MongoDB, PostgreSQL, MySQL
Node.js에서 Mongoose로 MongoDB 스키마와 관계를, pg와 Sequelize로 PostgreSQL을, mysql2로 MySQL을 연동하고 Express REST API에 붙입니다. 인덱스, N+1 문제, 페이지네이션, 커넥션 풀 설정도 다룹니다.
-
Python 데이터베이스: SQLite, PostgreSQL 연결과 ORM
sqlite3로 테이블을 만들고 SQL을 실행하는 기본에서 출발해 SQLAlchemy ORM 모델 정의, CRUD, 일대다 relationship 설정, Flask와 SQLAlchemy를 묶은 API 예제까지 다룹니다. 트랜잭션과 연결 해제, N+1 쿼리 문제도 짚습니다.
-
C++에서 PostgreSQL 연동: libpq vs libpqxx, 트랜잭션, Prepared Statement, JSONB와 연결 풀
C++ PostgreSQL 연동 정리. C 기반 공식 라이브러리 libpq와 Modern C++ 래퍼 libpqxx 비교, ACID 트랜잭션, Prepared Statement로 SQL 인젝션 방지, 연결 풀, JSONB·Full-Text Search 활용을 다룹니다.
-
C++ 앱의 느린 DB 쿼리 잡기: libpqxx Prepared Statement, EXPLAIN ANALYZE, 인덱스, N+1
C++에서 PostgreSQL·SQLite 쿼리가 몇 초씩 걸릴 때의 최적화 방법. libpqxx Prepared Statement, 인덱스 전략, EXPLAIN ANALYZE 실행 계획, 연결 풀, 쿼리 캐싱, N+1 문제를 JOIN으로 푸는 법을 다룹니다.
-
C++에서 DB 연동하기: SQLite·PostgreSQL(libpq), 연결 풀, Prepared Statement, 트랜잭션
C++ 데이터베이스 연동 정리. SQLite와 PostgreSQL(libpq) 기본, DB 래퍼 구현, 연결 풀, Prepared Statement와 SQL 인젝션 방지, 트랜잭션 관리, 풀 사용 여부에 따른 성능 차이를 다룹니다.