SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
서비스 개편시 PostgreSQL 도입기
배민스토어 셀러개발팀 진소린, 김태정
1
서비스 소개
2
목차
- 우리 서비스에서 도입 배경
- 활용 사례
3
(구) 배민스토어 역사
4
예전에 우리 서비스는요…
배민 내 커머스 서비스에 결합된 부가적인 서비스
참고: MySQL 5.7
모놀리식 구조
5
우리가 했던 목표는
“셀러가 판매를 더 잘 할 수 있게”
다른 서비스와 독립적인 서비스 개발
6
7
개발자들의 고민
OOP ? Relational?
다중 값 속성
OOP ? Relational?
8
OOP ? Relational?
다중 값 속성(C,S,V)
9
CREATE TABLE product (
id bigint PRIMARY KEY,
search_tag_csv varchar(200)
);
INSERT INTO product VALUES
(1, '견과류,견과,건과일,건과');
@Column(name = "search_tag_csv")
String searchTag;
List<String> getSearchTag() {
return
List.of(searchTagCsv.split(","));
}
OOP ? Relational?
다중 값 속성(Mapping Table)
10
CREATE TABLE product (
id bigint PRIMARY KEY,
// …
);
CREATE TABLE product_search_tags (
product_id bigint,
search_tag varchar(20),
);
@ElementCollection
@CollectionTable(
name = "product_search_tags",
joinColumns = @JoinColumn(name =
"product_id"))
@Column(name = "search_tag")
List<String> searchTag;
OOP ? Relational?
다중 값 속성(PG배열)
11
CREATE TABLE product (
id bigint PRIMARY KEY,
search_tag varchar(20)[10],
// …
);
INSERT INTO product VALUES (1,
'따앙콩', 100,
ARRAY['견과류','견과','건과일','건과
','하루견과','견과믹스']
);
import
org.hibernate.annotations.Type;
@Column(name = "search_tag")
@Type(type = "list-array")
List<String> searchTag;
// hibernate-types 라이브러리 사용
• 스펙: 상점은 공동대표자가 될 수 있다
• N>10 인 경우는 없다
• 고민
• 일정 촉박
• 어떻게 간단하게 모델링 할까?
12
객체 속성
객체 속성(Mapping Table)
13
CREATE TABLE shop (
id bigint PRIMARY KEY,
// …
);
CREATE TABLE shop_owner (
shop_id bigint,
name varchar(20)
);
@ElementCollection
@CollectionTable(
name = “shop_owner",
joinColumns = @JoinColumn(name =
“shop_id"))
List<ShopOwner> owners;
객체 속성(Mapping Table)
14
가게id 성명 생년월일
2 이나영 1980-01-01
2 김태정 1999-01-01
2 진소린 2000-01-01
Id 상호명
1 우아한형제들
2 나영커피
3 냠냠
가게 테이블
대표자 테이블
객체 속성(PG JSONB)
15
CREATE TABLE shop (
id bigint PRIMARY KEY,
owner jsonb,
);
import org.hibernate.annotations.Type;
@Column(name = "owner")
@Type(type = "jsonb")
List<ShopOwner> owners;
class ShopOwner {
String name;
LocalDate birthday;
}
그 외 타입들
• 범위 (Range)
• timestamp with time zone range -> Range<Instant>
• 시작일시 ~ 종료일시를 한 컬럼으로 표현할 때 유용
16
가공 및 인덱싱 가능
varchar[], tstzrange, jsonb, ...
17
결과
PostgreSQL의 다양한 기능을 활용하여
Impedance mismatch 감소
개발 기간 단축
18
업무에서 PostgreSQL 활용 사례
19
Schema : 연관 테이블 그룹핑
20
연관 테이블 그룹핑
Cluster
Database
Table
Schema
21
AWS RDS Cluster
단일 DB
도메인: 주문, 상품, 가게, 정산…
주문
상품
가게
정산
연관 테이블 그룹핑
Cluster
Table
Schema
22
AWS RDS Cluster
도메인: 주문, 상품, 가게, 정산…
주문
상품
가게
정산
Database
개발자 A
공통DB
(개발환경) 개발자 별로 개인 DB
22
DB 권한 관리
23
DB객체
상품
옵션
주문
결제
주문/결제 사용자
상품개발자 주문개발자 QA
24
QA 김태정, QA 진소린
김태정
진소린
User
CRUD Read(Select)
UPDATE
특정 컬럼
CRUD
Role/Group(권한)
(우리가) 자주 사용하는 운영 쿼리
25
운영쿼리 - Returning #1
UPDATE users
SET firstname = 'Rin'
WHERE lastname = 'Jin'
RETURNING *
26
UPDATE users
SET firstname = 'Rin'
WHERE lastname = 'Jin'
SELECT *
FROM users
WHERE lastname = 'Jin'
운영쿼리 - Returning #2
UPDATE users t
SET firstname = 'Rin'
FROM users old
WHERE t.id = old.id AND t.lastname = 'Jin'
RETURNING t.id, old.firstname old_value, t.firstname new_value
27
28
운영쿼리 - 데이터 백업 후 삭제
WITH deleted AS (
DELETE FROM users
WHERE lastname = 'Kim'
RETURNING *
)
INSERT INTO users_backup
SELECT *
FROM deleted
RETURNING *
변경된 데이터를 즉시 눈으로 검증 가능함
만약 문제가 발생하면 준비해 둔 복원 쿼리로 백업 테이블에서 복원이 가능함
자주 변경되는 운영 테이블에 트랜잭션을 걸고 작업하지 않아도 됨
29
운영쿼리 - 데이터 백업 후 삭제
운영쿼리 - 더미 데이터 생성하기
30
generate_series (start T, stop T [, step T ]) " setof T
운영쿼리 - 더미 데이터 생성하기
31
SELECT generate_series(1, 10);
운영쿼리 - 더미 데이터 생성하기
32
INSERT INTO users (id, firstname, lastname)
SELECT u.id + s id,
u.firstname || '#' || s,
u.lastname || '#' || s * 3
FROM users u,
generate_series(100, 200, 2) s;
33
http://bit.ly/3fZ058g
끝!

Mais conteúdo relacionado

Mais procurados

PostgreSQL Performance Tuning
PostgreSQL Performance TuningPostgreSQL Performance Tuning
PostgreSQL Performance Tuning
elliando dias
 
Patroni: Kubernetes-native PostgreSQL companion
Patroni: Kubernetes-native PostgreSQL companionPatroni: Kubernetes-native PostgreSQL companion
Patroni: Kubernetes-native PostgreSQL companion
Alexander Kukushkin
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교
Woo Yeong Choi
 

Mais procurados (20)

[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
[Pgday.Seoul 2017] 7. PostgreSQL DB Tuning 기업사례 - 송춘자
 
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스
 
[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱
[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱
[Pgday.Seoul 2017] 2. PostgreSQL을 위한 리눅스 커널 최적화 - 김상욱
 
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB DayAmazon Redshift의 이해와 활용 (김용우) - AWS DB Day
Amazon Redshift의 이해와 활용 (김용우) - AWS DB Day
 
MySQL GTID 시작하기
MySQL GTID 시작하기MySQL GTID 시작하기
MySQL GTID 시작하기
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?
 
PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오
 
PostgreSQL Performance Tuning
PostgreSQL Performance TuningPostgreSQL Performance Tuning
PostgreSQL Performance Tuning
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
Deep dive into PostgreSQL statistics.
Deep dive into PostgreSQL statistics.Deep dive into PostgreSQL statistics.
Deep dive into PostgreSQL statistics.
 
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
[Pgday.Seoul 2021] 2. Porting Oracle UDF and Optimization
 
PostgreSQL Deep Internal
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep Internal
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
Linux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performanceLinux tuning to improve PostgreSQL performance
Linux tuning to improve PostgreSQL performance
 
PostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability MethodsPostgreSQL Replication High Availability Methods
PostgreSQL Replication High Availability Methods
 
Patroni: Kubernetes-native PostgreSQL companion
Patroni: Kubernetes-native PostgreSQL companionPatroni: Kubernetes-native PostgreSQL companion
Patroni: Kubernetes-native PostgreSQL companion
 
High Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando PatroniHigh Availability PostgreSQL with Zalando Patroni
High Availability PostgreSQL with Zalando Patroni
 
Mvcc in postgreSQL 권건우
Mvcc in postgreSQL 권건우Mvcc in postgreSQL 권건우
Mvcc in postgreSQL 권건우
 
PostgreSQL HA
PostgreSQL   HAPostgreSQL   HA
PostgreSQL HA
 
mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교mongodb와 mysql의 CRUD 연산의 성능 비교
mongodb와 mysql의 CRUD 연산의 성능 비교
 

Semelhante a [pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정

10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
Amazon Web Services Korea
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
Dae Kim
 
Tadpole DB Hub 1.0.0
Tadpole DB Hub 1.0.0Tadpole DB Hub 1.0.0
Tadpole DB Hub 1.0.0
cho hyun jong
 
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
 

Semelhante a [pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정 (20)

파이썬 데이터베이스 연결 2탄
파이썬 데이터베이스 연결 2탄파이썬 데이터베이스 연결 2탄
파이썬 데이터베이스 연결 2탄
 
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
 
[Retail & CPG Day 2019] Amazon.com의 무중단, 대용량 DB패턴과 국내사례 (Lotte e-commerce) - ...
[Retail & CPG Day 2019] Amazon.com의 무중단, 대용량 DB패턴과 국내사례 (Lotte e-commerce) - ...[Retail & CPG Day 2019] Amazon.com의 무중단, 대용량 DB패턴과 국내사례 (Lotte e-commerce) - ...
[Retail & CPG Day 2019] Amazon.com의 무중단, 대용량 DB패턴과 국내사례 (Lotte e-commerce) - ...
 
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
 
Mongo db 최범균
Mongo db 최범균Mongo db 최범균
Mongo db 최범균
 
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
Fundamentals of Oracle SQL
Fundamentals of Oracle SQLFundamentals of Oracle SQL
Fundamentals of Oracle SQL
 
실전 DataSnap!
실전 DataSnap!실전 DataSnap!
실전 DataSnap!
 
실시간 복제 데이터를 이관시키는 방법.pdf
실시간 복제 데이터를 이관시키는 방법.pdf실시간 복제 데이터를 이관시키는 방법.pdf
실시간 복제 데이터를 이관시키는 방법.pdf
 
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDB
 
Redis
RedisRedis
Redis
 
Tadpole DB Hub 1.0.0
Tadpole DB Hub 1.0.0Tadpole DB Hub 1.0.0
Tadpole DB Hub 1.0.0
 
DDD로 복잡함 다루기
DDD로 복잡함 다루기DDD로 복잡함 다루기
DDD로 복잡함 다루기
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
 
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
[오픈소스컨설팅]이기종 WAS 클러스터링 솔루션- Athena Dolly
 
DataWorks Summit 2017
DataWorks Summit 2017DataWorks Summit 2017
DataWorks Summit 2017
 

Mais de PgDay.Seoul

Mais de PgDay.Seoul (17)

[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
[Pgday.Seoul 2020] 포스트그레스큐엘 자국어화 이야기
 
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
[Pgday.Seoul 2019] AppOS 고성능 I/O 확장 모듈로 성능 10배 향상시키기
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW
 
[Pgday.Seoul 2018] PostgreSQL 11 새 기능 소개
[Pgday.Seoul 2018]  PostgreSQL 11 새 기능 소개[Pgday.Seoul 2018]  PostgreSQL 11 새 기능 소개
[Pgday.Seoul 2018] PostgreSQL 11 새 기능 소개
 
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha[Pgday.Seoul 2018]  PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposha
 
[Pgday.Seoul 2018] PostgreSQL Authentication with FreeIPA
[Pgday.Seoul 2018]  PostgreSQL Authentication with FreeIPA[Pgday.Seoul 2018]  PostgreSQL Authentication with FreeIPA
[Pgday.Seoul 2018] PostgreSQL Authentication with FreeIPA
 
[Pgday.Seoul 2018] AWS Cloud 환경에서 PostgreSQL 구축하기
[Pgday.Seoul 2018]  AWS Cloud 환경에서 PostgreSQL 구축하기[Pgday.Seoul 2018]  AWS Cloud 환경에서 PostgreSQL 구축하기
[Pgday.Seoul 2018] AWS Cloud 환경에서 PostgreSQL 구축하기
 
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계[Pgday.Seoul 2018]  Greenplum의 노드 분산 설계
[Pgday.Seoul 2018] Greenplum의 노드 분산 설계
 
[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres
 
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우
 
[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종
[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종
[Pgday.Seoul 2017] 5. 테드폴허브(올챙이) PostgreSQL 확장하기 - 조현종
 
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
[Pgday.Seoul 2017] 1. PostGIS의 사례로 본 PostgreSQL 확장 - 장병진
 
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
[Pgday.Seoul 2017] 4. Composite Type/JSON 파라미터를 활용한 TVP구현(with C#, JAVA) - 지현명
 
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
 
PostgreSQL 9.6 새 기능 소개
PostgreSQL 9.6 새 기능 소개PostgreSQL 9.6 새 기능 소개
PostgreSQL 9.6 새 기능 소개
 
pg_hba.conf 이야기
pg_hba.conf 이야기pg_hba.conf 이야기
pg_hba.conf 이야기
 
Pg report 20161010_02
Pg report 20161010_02Pg report 20161010_02
Pg report 20161010_02
 

[pgday.Seoul 2022] 서비스개편시 PostgreSQL 도입기 - 진소린 & 김태정