[Pgday.Seoul 2021] 2. Porting Oracle UDF and OptimizationPgDay.Seoul
The document discusses porting functions from Oracle to PostgreSQL and optimizing performance, including different function types in PostgreSQL like SQL functions and PL/pgSQL functions, as well as volatility categories. It also provides examples of test data created for use in examples and covers strategies for analyzing inefficient Oracle functions and improving them to leverage the PostgreSQL optimizer.
This document summarizes a presentation on Multi Version Concurrency Control (MVCC) in PostgreSQL. It begins with definitions and history of MVCC, describing how it allows transactions to read and write without blocking each other. It then discusses two approaches to MVCC - storing old versions in the main database (PostgreSQL) vs a separate area (Oracle). The rest of the document does a deep dive on how MVCC is implemented in PostgreSQL specifically, showing how tuple headers track transaction IDs and pointers to maintain multiple versions of rows.
PostgreSQL 9.6 introduced wait events and PostgreSQL 10 progressed them, but what are they? What do they mean? How do I find them and how do I make them go away? Wait events are one of the most significant advancements in observability for PostgreSQL databases; their usefulness is unparalleled in troubleshooting performance. This talk will go into all that and more as we explore the world of PostgreSQL wait events.
Devrim Gunduz gives a presentation on Write-Ahead Logging (WAL) in PostgreSQL. WAL logs all transactions to files called write-ahead logs (WAL files) before changes are written to data files. This allows for crash recovery by replaying WAL files. WAL files are used for replication, backup, and point-in-time recovery (PITR) by replaying WAL files to restore the database to a previous state. Checkpoints write all dirty shared buffers to disk and update the pg_control file with the checkpoint location.
PostgreSQL High-Performance Cheat Sheets contains quick methods to find performance issues.
Summary of the course so that when problems arise, you are able to easily uncover what are the performance bottlenecks.
This document provides an overview of PostgreSQL and instructions for installing and configuring it. It discusses using the initdb command to initialize a PostgreSQL database cluster and create the template1 and postgres databases. It also explains that the template1 database serves as a template that is copied whenever new databases are created.
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우PgDay.Seoul
B-tree is ideal for unique values while GIN is ideal for indexes with many duplicates. GIST can index most data types and is useful for operations like containment and overlap. A comparison found that GIN indexes have faster search times but slower update times than GiST indexes, and GIN indexes are larger in size and take longer to build. In summary, the best index type depends on the data characteristics and query operations.
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...Mydbops
PostgreSQL 15 was released on October 13. This presentation on the major features and improvements in PostgreSQL 15, and how they can help for better performance and brings more reliability.
Kubernetes is a solid leader among different cloud orchestration engines and its adoption rate is growing on a daily basis. Naturally people want to run both their applications and databases on the same infrastructure.
There are a lot of ways to deploy and run PostgreSQL on Kubernetes, but most of them are not cloud-native. Around one year ago Zalando started to run HA setup of PostgreSQL on Kubernetes managed by Patroni. Those experiments were quite successful and produced a Helm chart for Patroni. That chart was useful, albeit a single problem: Patroni depended on Etcd, ZooKeeper or Consul.
Few people look forward to deploy two applications instead of one and support them later on. In this talk I would like to introduce Kubernetes-native Patroni. I will explain how Patroni uses Kubernetes API to run a leader election and store the cluster state. I’m going to live-demo a deployment of HA PostgreSQL cluster on Minikube and share our own experience of running more than 130 clusters on Kubernetes.
Patroni is a Python open-source project developed by Zalando in cooperation with other contributors on GitHub: https://github.com/zalando/patroni
How to do a LIVE-demo with minikube:
1. git clone https://github.com/zalando/patroni
2. cd patroni
3. git checkout feature/demo
4. cd kubernetes
5. open demo.sh and edit line #4 (specify the minikube context )
6. docker build -t patroni .
7. may be docker push patroni
8. may be edit patroni_k8s.yaml line #22 and put the name of patroni image you build there
9. install tmux
10. run tmux in one terminal
11. run bash demo.sh in another terminal and press Enter from time to time
The document discusses PostgreSQL query planning and tuning. It covers the key stages of query execution including syntax validation, query tree generation, plan estimation, and execution. It describes different plan nodes like sequential scans, index scans, joins, and sorts. It emphasizes using EXPLAIN to view and analyze the execution plan for a query, which can help identify performance issues and opportunities for optimization. EXPLAIN shows the estimated plan while EXPLAIN ANALYZE shows the actual plan after executing the query.
A Fast Intro to Fast Query with ClickHouse, by Robert HodgesAltinity Ltd
Slides for the Webinar, presented on March 6, 2019
For the webinar video visit https://www.altinity.com/
Extracting business insight from massive pools of machine-generated data is the central analytic problem of the digital era. ClickHouse data warehouse addresses it with sub-second SQL query response on petabyte-scale data sets. In this talk we'll discuss the features that make ClickHouse increasingly popular, show you how to install it, and teach you enough about how ClickHouse works so you can try it out on real problems of your own. We'll have cool demos (of course) and gladly answer your questions at the end.
Speaker Bio:
Robert Hodges is CEO of Altinity, which offers enterprise support for ClickHouse. He has over three decades of experience in data management spanning 20 different DBMS types. ClickHouse is his current favorite. ;)
This presentation covers all aspects of PostgreSQL administration, including installation, security, file structure, configuration, reporting, backup, daily maintenance, monitoring activity, disk space computations, and disaster recovery. It shows how to control host connectivity, configure the server, find the query being run by each session, and find the disk space used by each database.
PostgreSQL is designed to be easily extensible. For this reason, extensions loaded into the database can function just like features that are built in. In this session, we will learn more about PostgreSQL extension framework, how are they built, look at some popular extensions, management of these extensions in your deployments.
Dependency Injection in Apache Spark ApplicationsDatabricks
Dependency Injection is a programming paradigm that allows for cleaner, reusable, and more easily extensible code. Though Dependency injection has existed for a while now, its use for wiring dependencies in Apache Spark applications is relatively new. In this talk, we present our adventures writing testable Spark applications with dependency injection and explain why it is different than wiring dependencies for web applications due to Spark’s unique programming model.
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Masahiko Sawada
The document discusses transparent data encryption in PostgreSQL databases. It proposes encrypting data at the tablespace and buffer levels for minimal performance impact. A two-tier key architecture with separate master and data encryption keys enables fast key rotation. Integrating with key management systems provides flexible and robust key management. The solution aims to securely encrypt database content with low overhead.
This document discusses PostgreSQL replication. It provides an overview of replication, including its history and features. Replication allows data to be copied from a primary database to one or more standby databases. This allows for high availability, load balancing, and read scaling. The document describes asynchronous and synchronous replication modes.
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...Altinity Ltd
JSON is the king of data formats and ClickHouse has a plethora of features to handle it. This webinar covers JSON features from A to Z starting with traditional ways to load and represent JSON data in ClickHouse. Next, we’ll jump into the JSON data type: how it works, how to query data from it, and what works and doesn’t work. JSON data type is one of the most awaited features in the 2022 ClickHouse roadmap, so you won’t want to miss out. Finally, we’ll talk about Jedi master techniques like adding bloom filter indexing on JSON data.
Devrim Gunduz gives a presentation on Write-Ahead Logging (WAL) in PostgreSQL. WAL logs all transactions to files called write-ahead logs (WAL files) before changes are written to data files. This allows for crash recovery by replaying WAL files. WAL files are used for replication, backup, and point-in-time recovery (PITR) by replaying WAL files to restore the database to a previous state. Checkpoints write all dirty shared buffers to disk and update the pg_control file with the checkpoint location.
PostgreSQL High-Performance Cheat Sheets contains quick methods to find performance issues.
Summary of the course so that when problems arise, you are able to easily uncover what are the performance bottlenecks.
This document provides an overview of PostgreSQL and instructions for installing and configuring it. It discusses using the initdb command to initialize a PostgreSQL database cluster and create the template1 and postgres databases. It also explains that the template1 database serves as a template that is copied whenever new databases are created.
[Pgday.Seoul 2017] 6. GIN vs GiST 인덱스 이야기 - 박진우PgDay.Seoul
B-tree is ideal for unique values while GIN is ideal for indexes with many duplicates. GIST can index most data types and is useful for operations like containment and overlap. A comparison found that GIN indexes have faster search times but slower update times than GiST indexes, and GIN indexes are larger in size and take longer to build. In summary, the best index type depends on the data characteristics and query operations.
PostgreSQL 15 and its Major Features -(Aakash M - Mydbops) - Mydbops Opensour...Mydbops
PostgreSQL 15 was released on October 13. This presentation on the major features and improvements in PostgreSQL 15, and how they can help for better performance and brings more reliability.
Kubernetes is a solid leader among different cloud orchestration engines and its adoption rate is growing on a daily basis. Naturally people want to run both their applications and databases on the same infrastructure.
There are a lot of ways to deploy and run PostgreSQL on Kubernetes, but most of them are not cloud-native. Around one year ago Zalando started to run HA setup of PostgreSQL on Kubernetes managed by Patroni. Those experiments were quite successful and produced a Helm chart for Patroni. That chart was useful, albeit a single problem: Patroni depended on Etcd, ZooKeeper or Consul.
Few people look forward to deploy two applications instead of one and support them later on. In this talk I would like to introduce Kubernetes-native Patroni. I will explain how Patroni uses Kubernetes API to run a leader election and store the cluster state. I’m going to live-demo a deployment of HA PostgreSQL cluster on Minikube and share our own experience of running more than 130 clusters on Kubernetes.
Patroni is a Python open-source project developed by Zalando in cooperation with other contributors on GitHub: https://github.com/zalando/patroni
How to do a LIVE-demo with minikube:
1. git clone https://github.com/zalando/patroni
2. cd patroni
3. git checkout feature/demo
4. cd kubernetes
5. open demo.sh and edit line #4 (specify the minikube context )
6. docker build -t patroni .
7. may be docker push patroni
8. may be edit patroni_k8s.yaml line #22 and put the name of patroni image you build there
9. install tmux
10. run tmux in one terminal
11. run bash demo.sh in another terminal and press Enter from time to time
The document discusses PostgreSQL query planning and tuning. It covers the key stages of query execution including syntax validation, query tree generation, plan estimation, and execution. It describes different plan nodes like sequential scans, index scans, joins, and sorts. It emphasizes using EXPLAIN to view and analyze the execution plan for a query, which can help identify performance issues and opportunities for optimization. EXPLAIN shows the estimated plan while EXPLAIN ANALYZE shows the actual plan after executing the query.
A Fast Intro to Fast Query with ClickHouse, by Robert HodgesAltinity Ltd
Slides for the Webinar, presented on March 6, 2019
For the webinar video visit https://www.altinity.com/
Extracting business insight from massive pools of machine-generated data is the central analytic problem of the digital era. ClickHouse data warehouse addresses it with sub-second SQL query response on petabyte-scale data sets. In this talk we'll discuss the features that make ClickHouse increasingly popular, show you how to install it, and teach you enough about how ClickHouse works so you can try it out on real problems of your own. We'll have cool demos (of course) and gladly answer your questions at the end.
Speaker Bio:
Robert Hodges is CEO of Altinity, which offers enterprise support for ClickHouse. He has over three decades of experience in data management spanning 20 different DBMS types. ClickHouse is his current favorite. ;)
This presentation covers all aspects of PostgreSQL administration, including installation, security, file structure, configuration, reporting, backup, daily maintenance, monitoring activity, disk space computations, and disaster recovery. It shows how to control host connectivity, configure the server, find the query being run by each session, and find the disk space used by each database.
PostgreSQL is designed to be easily extensible. For this reason, extensions loaded into the database can function just like features that are built in. In this session, we will learn more about PostgreSQL extension framework, how are they built, look at some popular extensions, management of these extensions in your deployments.
Dependency Injection in Apache Spark ApplicationsDatabricks
Dependency Injection is a programming paradigm that allows for cleaner, reusable, and more easily extensible code. Though Dependency injection has existed for a while now, its use for wiring dependencies in Apache Spark applications is relatively new. In this talk, we present our adventures writing testable Spark applications with dependency injection and explain why it is different than wiring dependencies for web applications due to Spark’s unique programming model.
Transparent Data Encryption in PostgreSQL and Integration with Key Management...Masahiko Sawada
The document discusses transparent data encryption in PostgreSQL databases. It proposes encrypting data at the tablespace and buffer levels for minimal performance impact. A two-tier key architecture with separate master and data encryption keys enables fast key rotation. Integrating with key management systems provides flexible and robust key management. The solution aims to securely encrypt database content with low overhead.
This document discusses PostgreSQL replication. It provides an overview of replication, including its history and features. Replication allows data to be copied from a primary database to one or more standby databases. This allows for high availability, load balancing, and read scaling. The document describes asynchronous and synchronous replication modes.
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...Altinity Ltd
JSON is the king of data formats and ClickHouse has a plethora of features to handle it. This webinar covers JSON features from A to Z starting with traditional ways to load and represent JSON data in ClickHouse. Next, we’ll jump into the JSON data type: how it works, how to query data from it, and what works and doesn’t work. JSON data type is one of the most awaited features in the 2022 ClickHouse roadmap, so you won’t want to miss out. Finally, we’ll talk about Jedi master techniques like adding bloom filter indexing on JSON data.
본 자료는 14.12.20 KGUG(Korea Git User Group) 주최 대학생 대상 Git 교육인
“Getting Started with git” 에서 발표된 “Git Basic Commands” 의 발표내용을 담고 있습니다.
본 자료는 크리에이티브 커먼즈 저작자표시-비영리-변경금지(CC BY-NC-ND) 3.0 Unported 라이선스에 따라 이용할 수 있습니다.
본 자료에 사용 된 이미지들은 Creative Common License 를 따르며 이미지 출처는 해당 이미지 하단에 기제 되어 있습니다.
[pgday.Seoul 2022] PostgreSQL with Google CloudPgDay.Seoul
Google Cloud offers several fully managed database services for PostgreSQL workloads, including Cloud SQL and AlloyDB.
Cloud SQL provides a fully managed relational database service for PostgreSQL, MySQL, and SQL Server. It offers 99.999% availability, unlimited scaling, and automatic failure recovery.
AlloyDB is a new database engine compatible with PostgreSQL that provides up to 4x faster transactions and 100x faster analytics queries than standard PostgreSQL. It features independent scaling of storage and computing resources.
Google Cloud aims to be the best home for PostgreSQL workloads by providing compatibility with open source PostgreSQL and enterprise-grade features, performance, reliability, and support across its database services.
[Pgday.Seoul 2019] Citus를 이용한 분산 데이터베이스PgDay.Seoul
This document summarizes how to set up and use Citus, an open-source PostgreSQL-based distributed database. It explains how to install Citus, add worker nodes, create distributed tables, and use features like reference tables to perform distributed queries across the cluster.
[Pgday.Seoul 2018] PostgreSQL 성능을 위해 개발된 라이브러리 OS 소개 apposhaPgDay.Seoul
This document introduces AppOS, an operating system specialized for database performance. It discusses how AppOS improves on Linux by being more optimized for database workloads through techniques like specialized caching, I/O scheduling based on database priorities, and atomic writes. It also explains how AppOS is portable, high performing, and extensible to support different databases through its modular design. Future plans include improving cache management, parallel query optimization, and cooperative CPU scheduling.
[Pgday.Seoul 2018] 이기종 DB에서 PostgreSQL로의 Migration을 위한 DB2PGPgDay.Seoul
This document discusses DB2PG, a tool for migrating data between different database management systems. It began as an internal project in 2016 and has expanded its supported migration paths over time. It can now migrate schemas, tables, data types and more between Oracle, SQL Server, DB2, MySQL and other databases. The tool uses Java and supports multi-threaded imports for faster migration. Configuration files allow customizing the data type mappings and queries used during migration. The tool is open source and available on GitHub under the GPL v3 license.
[Pgday.Seoul 2018] AWS Cloud 환경에서 PostgreSQL 구축하기PgDay.Seoul
The document discusses setting up PostgreSQL in an AWS cloud environment. It provides information on using PostgreSQL with AWS services like RDS, Aurora, EC2 and EBS. It compares IaaS vs PaaS deployment options and discusses features of AWS databases like backups, read replicas, high availability and security. The document also summarizes benefits of Aurora over traditional databases like faster crash recovery, continuous backups and independent scaling of database layers.
This document provides technical details about PostgreSQL WAL (Write Ahead Log) buffers. It describes the structure and purpose of WAL segments, WAL records, and their components. It also explains how the WAL is used to safely recover transactions after a server crash by replaying the log.
2. 2017-11-04
2
PgDay.Seoul 2017 PostgreSQL 10 새기능
● 김상기
– 현재 사내 PostgreSQL 마이스터로 활동
● Facebook PostgreSQL Korea 그룹 구성원
– 매월 마지막 주 일요일 PostgreSQL 기술 세미나 운영
●
주말 아이 돌볼 일도 , 애인 만날 일도 없는 이들의 모임
● PostgreSQL.kr 홈페이지 운영자
– 여러 한국어 환경에서 쓰기 좋은 PostgreSQL 이 되도록 하는 작업
●
문서 & 배포판 메시지 자국어화 작업 기여
● textsearch_ko 전문 검색 확장 모듈 개발
●
사내 각종 PostgreSQL 컨설팅 및 교육 담당
– 전환 , 신규 시스템 설계 컨설팅 및 개발 , 운영 지원
– 개발자 , 운영자를 위한 정기 사내 교육
– 컨소이엄 재직자 무료 교육
● [email protected]
3. 2017-11-04
3
PgDay.Seoul 2017 PostgreSQL 10 새기능
● 포스트그레스큐엘 소개
12 13 13 13 13 13 13 14 14 14 14 14 14 15 15 15 15 15 15 16 16 16 16 16 16 17 17 17 17 17
0
20
40
60
80
100
120
PostgreSQL MySQL Oracle SQL Server
구글 트랜드 차트
9.4 9.5 9.6 10
0
2
4
6
8
10
12
14
16
18
버전 별 새 기능 수
4. 2017-11-04
4
PgDay.Seoul 2017 PostgreSQL 10 새기능
차례
응용 프로그램 개발자
– 파티션 테이블
– 논리 복제
– AS IDENTITY 칼럼 속성
– pg_sequence
– XMLTABLE
– UPDATE 구문 확장
– to_date('2017-02-35','YYYY-MM-DD')
5. 2017-11-04
5
PgDay.Seoul 2017 PostgreSQL 10 새기능
파티션 테이블
CREATE TABLE measurement (
logdate date not null,
peaktemp int,
unitsales int
) PARTITION BY RANGE (logdate);
CREATE TABLE measurement_y2016m07
PARTITION OF measurement (
unitsales DEFAULT 0
) FOR VALUES FROM ('2016-07-01') TO ('2016-08-01');
● 아직 못 푼 것들
● 하위 테이블 간 이동하는 UPDATE
● 전역 색인
● 하위 테이블 자동 생성
● 그 외 여러 삽질들
6. 2017-11-04
6
PgDay.Seoul 2017 PostgreSQL 10 새기능
논리 복제
● 아직 못 푼 것들
● DDL, TRUNCATE
● 테이블 빼고 모두 안 됨
● 교차 참조 - 충돌 해결 정책 없음
● SQL 기반 복제
● Promotion - 발행 구독 전환
발행 서버 구독 서버
CREATE PUBLICATION
mypublication
FOR TABLE users;
CREATE SUBSCRIPTION mysub
CONNECTION
'host=192.168.1.50'
PUBLICATION mypublication;
* 2ndQuadrant Postgres-BDR
7. 2017-11-04
7
PgDay.Seoul 2017 PostgreSQL 10 새기능
AS IDENTITY 칼럼 속성
postgres=# CREATE TABLE t (
a int GENERATED ALWAYS AS IDENTITY,
b int);
CREATE TABLE
postgres=# INSERT INTO t values (1,1);
오류: "a" 칼럼에 자료를 입력할 수 없습니다
상세정보: "a" 칼럼에 GENERATED ALWAYS 속성을 지정했습니다.
힌트: 이 속성을 무시하려면 OVERRIDING SYSTEM VALUE 옵션을 사용하세요.
postgres=# INSERT INTO t OVERRIDING SYSTEM VALUE values (1,1);
INSERT 0 1
postgres=# SELECT * FROM t_a_seq;
last_value | log_cnt | is_called
------------+---------+-----------
1 | 0 | f
(1개 행)
- 왜?
- 좀 더 ANSI 규약을 따르려고
8. 2017-11-04
8
PgDay.Seoul 2017 PostgreSQL 10 새기능
pg_sequence 테이블
postgres=# ds
릴레이션(relation) 목록
스키마 | 이름 | 종류 | 소유주
--------+---------+--------+----------
public | t_a_seq | 시퀀스 | postgres
(1개 행)
postgres=# d+ t_a_seq
"public.t_a_seq" 시퀀스
종류 | Start | Minimum | Maximum | Increment | Cycles? | Cache
---------+-------+---------+------------+-----------+---------+-------
integer | 1 | 1 | 2147483647 | 1 | no | 1
식별 칼럼용 시퀀스: public.t.a
postgres=# select * from t_a_seq;
last_value | log_cnt | is_called
------------+---------+-----------
1 | 0 | f
(1개 행)
* 이전 버전의 시퀀스 관련 정보를 살펴보는 것은 지면 관계상 생략
9. 2017-11-04
9
PgDay.Seoul 2017 PostgreSQL 10 새기능
XMLTABLE
● 관계형 데이터베이스에서 XML 자료를 다루는 표준 함수
● xmltable( [XMLNAMESPACES(네임스페이스정의), ]
xpath값 PASSING XML자료
COLUMNS 칼럼정의
[, ...]
)
● XML 자료가 있는 테이블과 이 함수 조인 쿼리로 사용됨
● 기존 xpath() 함수와 xml2 확장 모듈에서 할 수 있었던 것
● 대세는 json이나 기존 XML 자료를 여전히 다뤄야 하는 환경을
끌어안는 그나마 싼 방법
13. 2017-11-04
13
PgDay.Seoul 2017 PostgreSQL 10 새기능
시스템 카탈로그
pg_hba_file_rules pg_hba.conf 내용
pg_sequences 시퀀스
pg_statistic_ext 사용자 정의 통계 정보
pg_partitioned_table 파티션 테이블 정보
pg_publication 논리 복제 발행과 구독 관련 정보들
pg_subscription
● 새로 추가된 테이블 또는 뷰
● 새로 추가된 칼럼 pg_class.relispartition
pg_class.relpartbound
pg_replication_slots.temporary
pg_stat_replication.write_lag
pg_stat_replication.flush_lag
pg_stat_replication.replay_lag
pg_stat_activity.backend_type
pg_attribute.attidentity
14. 2017-11-04
14
PgDay.Seoul 2017 PostgreSQL 10 새기능
사용자 정의 통계 정보
CREATE TABLE t1 (
a int,
b int
);
INSERT INTO t1 SELECT i/100, i/500
FROM generate_series(1,1000000) s(i);
ANALYZE t1;
EXPLAIN ANALYZE SELECT * FROM t1 WHERE (a = 1) AND (b = 0);
QUERY PLAN
------------------------------------------------------
Seq Scan on t1 (cost=0.00..19425.00 rows=1 width=8)
Filter: ((a = 1) AND (b = 0))
(2개 행)
CREATE STATISTICS s1 (dependencies) ON a, b FROM t1;
ANALYZE t1;
QUERY PLAN
-------------------------------------------------------
Seq Scan on t1 (cost=0.00..19425.00 rows=98 width=8)
Filter: ((a = 1) AND (b = 0))
(2개 행)
15. 2017-11-04
15
PgDay.Seoul 2017 PostgreSQL 10 새기능
SCRAM-SHA-256
● password_encryption = plain 설정이 없어짐
● md5 또는 scram-sha-256 둘 중 하나
● pg_hba.conf에서 md5는 scram-sha-256 인증을 포함함
● pg_authid.rolpassword 값이 이미 scram-sha-256 암호화를
했다면 클라이언트가 그 인증 방법을 사용할 수 있어야 함
postgres=# set password_encryption = 'scram-sha-256';
SET
postgres=# alter role postgres password 'mypassword';
ALTER ROLE
postgres=# q
[postgres@centos7 data10]$ /postgres/9.6/bin/psql
psql: 10 인증 방법이 지원되지 않음
[postgres@centos7 data10]$ /postgres/10/bin/psql
암호:
psql (10.0)
도움말을 보려면 "help"를 입력하십시오.
16. 2017-11-04
16
PgDay.Seoul 2017 PostgreSQL 10 새기능
병렬 쿼리
● min_parallel_relation_size 환경 설정이
min_parallel_index_scan_size,
min_parallel_table_scan_size 두 개로 변경됨
● max_parallel_workers_per_gather 환경 설정값의
초가값이 0에서 2로 바뀜 → 기본 설정이 병렬 쿼리를
쓸 수 있는 상황이라면 적극적으로 쓰겠다를 의미함
● max_connections 값을 잘 설계해야 함
클라이언트 접속 수보다 최대 8배(max_parallel_workers)가
많아질 수 있음
● postgres_fdw 모듈을 사용하는 외부 테이블에 대한
병렬 쿼리를 확인 못 해 봤음
17. 2017-11-04
17
PgDay.Seoul 2017 PostgreSQL 10 새기능
모니터링을 위한 롤
[postgres@centos7 ~]$ /postgres/10/bin/psql -U ioseph postgres
postgres=> show hba_file;
오류: "hba_file" 설정값을 알려면 pg_read_all_settings의 맴버이거나 슈퍼유저여야합니다
postgres=> c - postgres
접속정보: 데이터베이스="postgres", 사용자="postgres".
postgres=# grant pg_read_all_settings to ioseph;
GRANT ROLE
postgres=# c - ioseph
접속정보: 데이터베이스="postgres", 사용자="ioseph".
postgres=> show hba_file;
...
postgres=> select rolname from pg_roles;
rolname
----------------------
pg_monitor
pg_read_all_settings
pg_read_all_stats
pg_stat_scan_tables
pg_signal_backend
19. 2017-11-04
19
PgDay.Seoul 2017 PostgreSQL 10 새기능
더 살펴볼 거리
● PostgreSQL 10 릴리즈 노트
● Wiki.postgresql.org 의 New in postgres 10
● 예제로 살펴보는 PostgreSQL 10 새기능
● PostgreSQL 10 언론 보도 자료 속 링크들
[링크1] [링크2]