SlideShare a Scribd company logo
© 2023 NTT DATA Group Corporation
© 2023 NTT DATA Group Corporation
マネージドPostgreSQLの実現に向けた
PostgreSQL機能向上
2023年11月24日 PostgreSQL Conference Japan 2023
株式会社NTTデータグループ 技術開発本部
加藤 慎也
© 2023 NTT DATA Group Corporation 2
自己紹介
• 名前
• 加藤 慎也 @ShinyaKato_
• 所属
• 株式会社NTTデータグループ 技術開発本部
• 業務
• PostgreSQLコミュニティでの開発
• PostgreSQLの研究開発やサポート業務
© 2023 NTT DATA Group Corporation 3
本講演について
• 講演資料は、NTTデータグループのSlideShareアカウント上で公開中
• https://www.slideshare.net/nttdata-tech
• 検証環境
製品名 バージョン
Amazon RDS for PostgreSQL PostgreSQL 14.7
on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1
20180712 (Red Hat 7.3.1-12), 64-bit
Azure Database for PostgreSQL
(フレキシブル サーバー)
PostgreSQL 14.7
on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0-
3ubuntu1~18.04) 7.5.0, 64-bit
Cloud SQL for PostgreSQL PostgreSQL 14.7
on x86_64-pc-linux-gnu, compiled by Debian clang
version 12.0.1, 64-bit
オープンソース版PostgreSQL PostgreSQL 16.1
© 2023 NTT DATA Group Corporation 4
マネージドサービスを使用していて、
権限が足りなくてやりたいことができない、
と困ったことはありませんか?
スーパーユーザ使えないのか…?
ということはCHECKPOINTコマンド
実行できないな…
必要な権限を付与できない…
あれ、何故かこのパラメータは
変更できないぞ…
© 2023 NTT DATA Group Corporation 5
PostgreSQLの機能が向上することで
これらの課題が解決しつつあります!
スーパーユーザ使えないのか…?
ということはCHECKPOINTコマンド
実行できないな…
必要な権限を付与できない…
あれ、何故かこのパラメータは
変更できないぞ…
v15~
CHECKPOINTコマンドの権限を付与可能に!
v16~
権限付与のルールが変更
v15~
パラメータ毎にSET権限を設定可能
© 2023 NTT DATA Group Corporation 6
マネージドPostgreSQLの主な制約
スーパーユーザを使用できない OSにログインできない
• 一部のSQLコマンドを実行できない
• 一部の権限を付与できない
• 一部のパラメータを設定できない
• スーパーユーザの所有するリレーション
に対する任意の操作を実行できない
• サーバのファイルを読み書きできない
• サーバプログラムを実行できない
• 拡張機能をインストールできない
© 2023 NTT DATA Group Corporation 7
© 2023 NTT DATA Group Corporation
01
スーパーユーザを
使用できない問題
© 2023 NTT DATA Group Corporation 8
ポイント
権限をより細やかに管理できる
ような機能が充実
© 2023 NTT DATA Group Corporation 9
CHECKPOINTコマンド
• v14まではスーパーユーザしかCHECKPOINTコマンドを実行できなかった
• v15で実装されたpg_checkpoint事前定義ロールを付与することで、
一般ユーザでもCHECKPOINTコマンドを実行できるようになった
v15
=# CREATE ROLE not_have_pg_checkpoint ;
=# SET ROLE not_have_pg_checkpoint ;
=> CHECKPOINT ;
ERROR: 42501: permission denied to execute CHECKPOINT command
DETAIL: Only roles with privileges of the "pg_checkpoint" role may execute this
command.
=> RESET ROLE ;
=# CREATE ROLE has_pg_checkpoint IN ROLE pg_checkpoint ;
=# SET ROLE has_pg_checkpoint ;
=> CHECKPOINT ;
CHECKPOINT
pg_checkpointをもたないロールで
CHECKPOINTコマンドを実行するとエラー
pg_checkpointをもつロールで
CHECKPOINTコマンドを実行すると成功
© 2023 NTT DATA Group Corporation 10
CHECKPOINTコマンド
• Amazon RDS for PostgreSQL
• v14時点で独自に対応済み
• Azure Database for PostgreSQL
• v14時点で独自に対応済み
• Cloud SQL for PostgreSQL
• 未対応
=> CHECKPOINT ;
CHECKPOINT
v15
=> CHECKPOINT ;
ERROR: 42501: must be superuser to do
CHECKPOINT
つまりソースコードを変更している!
Cloud SQL for PostgreSQL
Amazon RDS for PostgreSQL, Azure Database for PostgreSQL
© 2023 NTT DATA Group Corporation 11
VACUUM、ANALYZE、CLUSTER、
REFRESH MATERIALIZED VIEW、REINDEX、LOCK TABLEコマンド
• リレーションを所有するなどの適切な権限をもつロールしか
これらのSQLコマンドを実行できなかった
• 例)スーパーユーザの所有するシステムカタログのVACUUMを一般ユーザは実行できない
• pg_maintain事前定義ロールを付与することで、
全リレーションに対してこれらのSQLコマンドを実行できるようになった
• v16で導入予定だったが、権限昇格のバグによりRevertされた
v16で実装されたが最終的にはRevert
© 2023 NTT DATA Group Corporation 12
VACUUM、ANALYZE、CLUSTER、
REFRESH MATERIALIZED VIEW、REINDEX、LOCK TABLEコマンド
• Amazon RDS for PostgreSQL
• v14時点で独自に対応済み
• Azure Database for PostgreSQL
• 未対応
• Cloud SQL for PostgreSQL
• 未対応
=> VACUUM pg_db_role_setting ;
VACUUM
=> VACUUM pg_db_role_setting ;
WARNING: skipping
"pg_db_role_setting" --- only
superuser can vacuum it
VACUUM
v16で実装されたが最終的にはRevert
Azure Database for PostgreSQL, Cloud SQL for PostgreSQL
Amazon RDS for PostgreSQL
© 2023 NTT DATA Group Corporation 13
CREATE EVENT TRIGGERコマンド
• CREATE EVENT TRIGGERコマンドはスーパーユーザしか実行できない
• PostgreSQL本体には実行権限を制御する機能はないが、
調査対象のクラウドでは独自に対応している
未対応
=> CREATE EVENT TRIGGER trgr ON ddl_command_start EXECUTE FUNCTION any_func() ;
ERROR: 42501: permission denied to create event trigger "abort_ddl"
HINT: Must be superuser to create an event trigger.
PostgreSQL 16
=> CREATE EVENT TRIGGER trgr ON ddl_command_start EXECUTE FUNCTION any_func() ;
CREATE EVENT TRIGGER
Amazon RDS for PostgreSQL, Azure Database for PostgreSQL, Cloud SQL for PostgreSQL
© 2023 NTT DATA Group Corporation 14
BYPASSRLS属性の付与
• v15まではスーパーユーザしかBYPASSRLS属性の付与ができなかった
• v16では自身がCREATEROLE属性とBYPASSRLS属性を
もっていれば付与できるようになった
=> ¥du shinya
List of roles
Role name | Attributes
-----------+-------------------------
shinya | Create role, Bypass RLS
=> CREATE ROLE has_bypassrls BYPASSRLS ;
CREATE ROLE
PostgreSQL 16
v16
© 2023 NTT DATA Group Corporation 15
BYPASSRLS属性の付与
• Amazon RDS for PostgreSQL
• v14時点で独自に対応済み
• Azure Database for PostgreSQL
• 未対応
• Cloud SQL for PostgreSQL
• v14時点で独自に対応済み
=> CREATE ROLE
has_bypassrls BYPASSRLS ;
CREATE ROLE
=> CREATE ROLE
has_replication REPLICATION ;
ERROR: must be superuser to create
bypassrls users
=> CREATE ROLE
has_bypassrls BYPASSRLS ;
CREATE ROLE
v16
Cloud SQL for PostgreSQL
Azure Database for PostgreSQL
Amazon RDS for PostgreSQL
© 2023 NTT DATA Group Corporation 16
REPLICATION属性の付与
• v15まではスーパーユーザしかREPLICATION属性の付与ができなかった
• v16では自身がCREATEROLE属性とREPLICATION属性を
もっていれば付与できるようになった
=> ¥du shinya
List of roles
Role name | Attributes
-----------+--------------------------
shinya | Create role, Replication
=> CREATE ROLE has_replication REPLICATION ;
CREATE ROLE
PostgreSQL 16
v16
© 2023 NTT DATA Group Corporation 17
REPLICATION属性の付与
• Amazon RDS for PostgreSQL
• 未対応
• Azure Database for PostgreSQL
• v14時点で独自に対応済み
• Cloud SQL for PostgreSQL
• v14時点で独自に対応済み
=> CREATE ROLE
has_replication REPLICATION ;
ERROR: 42501: must be superuser to
create replication users
=> CREATE ROLE
has_replication REPLICATION ;
CREATE ROLE
v16
Azure Database for PostgreSQL, Cloud SQL for PostgreSQL
Amazon RDS for PostgreSQL
© 2023 NTT DATA Group Corporation 18
任意のロールの付与
• v15まではCREATEROLE属性をもつロールは、
スーパーユーザ以外の任意のロールの付与・剥奪ができた
• v16ではADMIN OPTION付きで自身がもつロールの付与・剥奪のみ実行可能に
なった
=> ¥drg shinya
List of role grants
Role name | Member of | Options | Grantor
-----------+---------------+---------------------+---------
shinya | pg_checkpoint | ADMIN, INHERIT, SET | rocky
=> GRANT pg_checkpoint TO role_a ;
GRANT ROLE
=> GRANT pg_execute_server_program TO role_a ;
ERROR: 42501: permission denied to grant role "pg_execute_server_program"
DETAIL: Only roles with the ADMIN option on role "pg_execute_server_program" may grant
this role.
PostgreSQL 16
v16
ADMIN OPTIONつきでpg_checkpoint
をもつのでGRANT可能
もたないpg_execute_server_programはGRANT不可
© 2023 NTT DATA Group Corporation 19
任意のロールの付与
• Amazon RDS for PostgreSQL
• v14時点で独自に対応済み
• Azure Database for PostgreSQL
• v14時点で独自に対応済み
• Cloud SQL for PostgreSQL
• v14時点で独自に対応済み
=> GRANT pg_execute_server_program
TO role_a ;
ERROR: 42501: cannot alter members of
"pg_execute_server_program"
DETAIL: "pg_execute_server_program"
is a protected role.
LOCATION: check_granted_role,
rdsutils.c:1711
v16
rdsutils.cというファイルに
実装されている
Amazon RDS for PostgreSQL
© 2023 NTT DATA Group Corporation 20
【参考】 pg_execute_server_programロールによる権限昇格
https://www.slideshare.net/slideshow/embed_code/key/rscjGQhRUduPIL
© 2023 NTT DATA Group Corporation 21
設定パラメータのSET、ALTER SYSTEM SET権限
• v15から、設定パラメータの
SET、ALTER SYSTEM SET権限をGRANTコマンドで付与可能となった
v15
=> SELECT name, context FROM pg_settings
WHERE name IN ('deadlock_timeout', 'commit_delay') ;
name | context
------------------+-----------
commit_delay | superuser
deadlock_timeout | superuser
=# GRANT SET ON PARAMETER deadlock_timeout TO shinya ;
=# SET ROLE shinya ;
=> SET deadlock_timeout TO '5s’ ;
SET
=> SET commit_delay TO '5s' ;
ERROR: 42501: permission denied to set parameter "commit_delay"
deadlock_timeout
のSET権限を付与
deadlock_timeoutのSET成功
commit_delayのSET失敗
PostgreSQL 16
© 2023 NTT DATA Group Corporation 22
設定パラメータのSET、ALTER SYSTEM SET権限
• Amazon RDS for PostgreSQL
• v14時点で一部のパラメータのみ
SETできるように対応済み
• Azure Database for PostgreSQL
• v14時点で
session_replication_roleのみ
SETできるように対応済み
• Cloud SQL for PostgreSQL
• 未対応
=> SET deadlock_timeout TO '5s' ;
SET
=> SET session_replication_role
TO 'replica' ;
SET
=> SET deadlock_timeout TO '5s' ;
ERROR: permission denied to set
parameter "deadlock_timeout"
v15
Cloud SQL for PostgreSQL
Azure Database for PostgreSQL
Amazon RDS for PostgreSQL
© 2023 NTT DATA Group Corporation 23
(スーパーユーザ以外の)任意のロールのコネクションの予約
• スーパーユーザのコネクションは
superuser_reserved_connectionsパラメータで予約できた
• v16から、 pg_use_reserved_connectionsロールを付与したロールの
コネクションをreserved_connectionsパラメータで予約可能になった
v16
superuser_
reserved_connections
reserved_connections その他の接続
max_connections
同時接続可能な最大数
スーパーユーザのために
予約するコネクション数
pg_use_reserved_connections
ロールをもつロールのために
予約するコネクション数
© 2023 NTT DATA Group Corporation 24
(スーパーユーザ以外の)任意のロールのコネクションの予約
• Amazon RDS for PostgreSQL
• v14時点で独自にrds.rds_superuser_reserved_connectionsというパラメータで
RDS管理者ロールのコネクションを予約可能
• Azure Database for PostgreSQL
• 未対応
• Cloud SQL for PostgreSQL
• 未対応
=> SHOW rds.rds_superuser_reserved_connections ;
rds.rds_superuser_reserved_connections
----------------------------------------
2
v16
Amazon RDS for PostgreSQL
© 2023 NTT DATA Group Corporation 25
© 2023 NTT DATA Group Corporation
02
OSにログインできない問題
© 2023 NTT DATA Group Corporation 26
ポイント
ファイル操作を
SQLインターフェースで実行可能に
© 2023 NTT DATA Group Corporation 27
pg_ident_file_mappingsビュー
• v15から、pg_ident.confファイルの中身を
pg_ident_file_mappingsビューで確認できるようになった
• postgresql.confはpg_settingsビュー、
pg_hba.confはpg_hba_file_rulesビューで確認可能
• ただし、デフォルトではスーパーユーザのみSELECT可能なので
マネージドサービス利用者は使えない可能性が高い
v15
=# SELECT * FROM pg_ident_file_mappings ;
-[ RECORD 1 ]----------------------------------------
map_number | 1
file_name | /home/rocky/pgsql/16/data/pg_ident.conf
line_number | 73
map_name | mymap
sys_name | /^(.*)@mydomain¥.com$
pg_username | ¥1
error | [NULL]
PostgreSQL 16
© 2023 NTT DATA Group Corporation 28
pg_hba_file_rulesビュー
• デフォルトではスーパーユーザのみSELECT可能
• Amazon RDS for PostgreSQL
• SELECT権限が付与された状態でPostgreSQLが作成される
• Azure Database for PostgreSQL
• 未対応
• Cloud SQL for PostgreSQL
• 未対応
補足
=> SELECT * FROM pg_hba_file_rules LIMIT 3 ;
line_number | type | database | user_name | address | netmask | auth_method | options | error
-------------+-------+----------+------------+---------+---------+---------------+-----------+-------
2 | local | {all} | {rdsadmin} | [NULL] | [NULL] | peer | {map=rds} | [NULL]
6 | local | {all} | {all} | [NULL] | [NULL] | scram-sha-256 | [NULL] | [NULL]
12 | host | {all} | {rdsadmin} | all | [NULL] | reject | [NULL] | [NULL]
Amazon RDS for PostgreSQL
© 2023 NTT DATA Group Corporation 29
pg_walinspect拡張機能
• v15でcontribモジュールに追加された拡張機能
• マネージドサービスではOSにログインできずpg_waldumpを実行できないため、
SQLコマンドでWALの情報を確認できるようにと開発
• ただし、クラウド側でサポートされるまでは使用できない
• Amazon RDS for PostgreSQLはサポート済み
v15
=# SELECT start_lsn, end_lsn, prev_lsn, block_ref FROM
pg_get_wal_record_info('0/E419E28');
-[ RECORD 1 ]----+-------------------------------------------------
start_lsn | 0/E419E28
end_lsn | 0/E419E68
prev_lsn | 0/E419D78
block_ref | blkref #0: rel 1663/16385/1249 fork main blk 364
PostgreSQL 16
© 2023 NTT DATA Group Corporation 30
Trusted Language Extensions for PostgreSQL(pg_tle)
• AWSがOSSとして公開している、”安全な”拡張機能を開発するためのツール
• ファイルシステムアクセスやネットワーク設定を制限し、
安全性を備えた信頼性のある言語を提供
• JavaScript、Perl、PL/pgSQL、SQLでの拡張機能の作成をサポート
• Amazon RDS for PostgreSQLでは
pg_tleを使用して開発した拡張機能を自由にインストール可能
補足
© 2023 NTT DATA Group Corporation 31
まとめ
• マネージドPostgreSQLを実現するための
PostgreSQLの機能向上について説明しました
• クラウドにより対応状況は様々ですが、
利用者の利便性を向上させたり、危険な操作を防止するために、
PostgreSQLのソースコードを変更して独自に対応していることがわかりました
• マネージドPostgreSQLとオープンソース版PostgreSQLの違いを理解しつつ、
PostgreSQLのアップデートを楽しみましょう
© 2023 NTT DATA Group Corporation 32
参考文献
• https://www.postgresql.org/docs/15/release-15.html
• https://www.postgresql.org/docs/16/release-16.html
• https://www.slideshare.net/slideshow/embed_code/key/rscjGQhRUduPIL
• https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/PostgreSQL_trusted_
language_extension.html
• https://github.com/aws/pg_tle
その他、記載されている会社名、商品名、又はサービス名は、
各社の登録商標又は商標です。
Ad

More Related Content

What's hot (20)

PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
 
PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介
NTT DATA OSS Professional Services
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
NTT DATA Technology & Innovation
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
NTT DATA Technology & Innovation
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
Masahiko Sawada
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
 
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
 
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
 
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL13でのpg_basebackupの改善について(第13回PostgreSQLアンカンファレンス@オンライン)
NTT DATA Technology & Innovation
 
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
レプリケーション遅延の監視について(第40回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
NTT DATA Technology & Innovation
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
NTT DATA Technology & Innovation
 
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
統計情報のリセットによるautovacuumへの影響について(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
PostgreSQL 14 モニタリング新機能紹介(PostgreSQL カンファレンス #24、2021/06/08)
NTT DATA Technology & Innovation
 
PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報PostgreSQL 15 開発最新情報
PostgreSQL 15 開発最新情報
Masahiko Sawada
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
NTT DATA Technology & Innovation
 
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_hint_planを知る(第37回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL16でのロールに関する変更点(第41回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
NTT DATA Technology & Innovation
 
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
VSCodeで作るPostgreSQL開発環境(第25回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2021年の開発状況(第30回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
MesonでPostgreSQLをビルドしてみよう!(第39回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 

Similar to マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料) (20)

M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
日本マイクロソフト株式会社
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Yoichi Kawasaki
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
NTT DATA Technology & Innovation
 
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
yoyamasaki
 
Dapr on Kubernetes
Dapr on KubernetesDapr on Kubernetes
Dapr on Kubernetes
Shiho ASA
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
NTT DATA Technology & Innovation
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
 
Qlik Talend Cloud (旧Qlik Cloud データ統合) しっかり学ぶ勉強会 #5 - Snowflakeへの接続
Qlik Talend Cloud (旧Qlik Cloud データ統合) しっかり学ぶ勉強会 #5 - Snowflakeへの接続Qlik Talend Cloud (旧Qlik Cloud データ統合) しっかり学ぶ勉強会 #5 - Snowflakeへの接続
Qlik Talend Cloud (旧Qlik Cloud データ統合) しっかり学ぶ勉強会 #5 - Snowflakeへの接続
QlikPresalesJapan
 
SCALR OSS版のインストール手順のご紹介 20131204 01
SCALR OSS版のインストール手順のご紹介 20131204 01SCALR OSS版のインストール手順のご紹介 20131204 01
SCALR OSS版のインストール手順のご紹介 20131204 01
Haruhiko KAJIKAWA
 
201312 scalr[oss] installation_idcf
201312 scalr[oss] installation_idcf201312 scalr[oss] installation_idcf
201312 scalr[oss] installation_idcf
IDC Frontier
 
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
Dell TechCenter Japan
 
PostgreSQL UDF in Rust(Jpn) ver.2
PostgreSQL UDF in Rust(Jpn) ver.2PostgreSQL UDF in Rust(Jpn) ver.2
PostgreSQL UDF in Rust(Jpn) ver.2
Katsumi INOUE
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
yoyamasaki
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
yoyamasaki
 
論理レプリケーション用スロットのフェールオーバ機能 (第48回 PostgreSQLアンカンファレンス 発表資料)
論理レプリケーション用スロットのフェールオーバ機能 (第48回 PostgreSQLアンカンファレンス 発表資料)論理レプリケーション用スロットのフェールオーバ機能 (第48回 PostgreSQLアンカンファレンス 発表資料)
論理レプリケーション用スロットのフェールオーバ機能 (第48回 PostgreSQLアンカンファレンス 発表資料)
NTT DATA Technology & Innovation
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017
Cloudera Japan
 
Start SQL Server with Docker
Start SQL Server with DockerStart SQL Server with Docker
Start SQL Server with Docker
Oshitari_kochi
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
日本マイクロソフト株式会社
 
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したRailsアプリを作ろう!
Yoichi Kawasaki
 
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう! Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
NTT DATA Technology & Innovation
 
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
MySQL Cluster7.3 GAリリース記念セミナー! MySQL & NoSQL 圧倒的な進化を続けるMySQLの最新機能!
yoyamasaki
 
Dapr on Kubernetes
Dapr on KubernetesDapr on Kubernetes
Dapr on Kubernetes
Shiho ASA
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
NTT DATA Technology & Innovation
 
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
[中国地方DB勉強会] 第22回 Webアプリ開発をデータベース側から変革していく - MySQL 8.0新機能
Ryusuke Kajiyama
 
Qlik Talend Cloud (旧Qlik Cloud データ統合) しっかり学ぶ勉強会 #5 - Snowflakeへの接続
Qlik Talend Cloud (旧Qlik Cloud データ統合) しっかり学ぶ勉強会 #5 - Snowflakeへの接続Qlik Talend Cloud (旧Qlik Cloud データ統合) しっかり学ぶ勉強会 #5 - Snowflakeへの接続
Qlik Talend Cloud (旧Qlik Cloud データ統合) しっかり学ぶ勉強会 #5 - Snowflakeへの接続
QlikPresalesJapan
 
SCALR OSS版のインストール手順のご紹介 20131204 01
SCALR OSS版のインストール手順のご紹介 20131204 01SCALR OSS版のインストール手順のご紹介 20131204 01
SCALR OSS版のインストール手順のご紹介 20131204 01
Haruhiko KAJIKAWA
 
201312 scalr[oss] installation_idcf
201312 scalr[oss] installation_idcf201312 scalr[oss] installation_idcf
201312 scalr[oss] installation_idcf
IDC Frontier
 
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
Open stack reference architecture v1 2
Open stack reference architecture v1 2Open stack reference architecture v1 2
Open stack reference architecture v1 2
Dell TechCenter Japan
 
PostgreSQL UDF in Rust(Jpn) ver.2
PostgreSQL UDF in Rust(Jpn) ver.2PostgreSQL UDF in Rust(Jpn) ver.2
PostgreSQL UDF in Rust(Jpn) ver.2
Katsumi INOUE
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
yoyamasaki
 
5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境5分で作るMySQL Cluster環境
5分で作るMySQL Cluster環境
yoyamasaki
 
論理レプリケーション用スロットのフェールオーバ機能 (第48回 PostgreSQLアンカンファレンス 発表資料)
論理レプリケーション用スロットのフェールオーバ機能 (第48回 PostgreSQLアンカンファレンス 発表資料)論理レプリケーション用スロットのフェールオーバ機能 (第48回 PostgreSQLアンカンファレンス 発表資料)
論理レプリケーション用スロットのフェールオーバ機能 (第48回 PostgreSQLアンカンファレンス 発表資料)
NTT DATA Technology & Innovation
 
Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017Cloudera in the Cloud #CWT2017
Cloudera in the Cloud #CWT2017
Cloudera Japan
 
Start SQL Server with Docker
Start SQL Server with DockerStart SQL Server with Docker
Start SQL Server with Docker
Oshitari_kochi
 
Ad

More from NTT DATA Technology & Innovation (20)

2025年現在のNewSQL (最強DB講義 #36 発表資料)
2025年現在のNewSQL (最強DB講義 #36 発表資料)2025年現在のNewSQL (最強DB講義 #36 発表資料)
2025年現在のNewSQL (最強DB講義 #36 発表資料)
NTT DATA Technology & Innovation
 
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
NTT DATA Technology & Innovation
 
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
NTT DATA Technology & Innovation
 
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
 
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
 
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
NTT DATA Technology & Innovation
 
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
NTT DATA Technology & Innovation
 
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
NTT DATA Technology & Innovation
 
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
NTT DATA Technology & Innovation
 
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
NTT DATA Technology & Innovation
 
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
NTT DATA Technology & Innovation
 
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
NTT DATA Technology & Innovation
 
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
NTT DATA Technology & Innovation
 
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
NTT DATA Technology & Innovation
 
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
NTT DATA Technology & Innovation
 
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
 
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
 
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
NTT DATA Technology & Innovation
 
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
NTT DATA Technology & Innovation
 
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
NTT DATA Technology & Innovation
 
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
NTT DATA Technology & Innovation
 
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
NTT DATA Technology & Innovation
 
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
NTT DATA Technology & Innovation
 
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
NTT DATA Technology & Innovation
 
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
PostgreSQL開発コミュニティに参加しよう! (オープンデベロッパーズカンファレンス(ODC)2024 発表資料)
NTT DATA Technology & Innovation
 
Ad

マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)

  • 1. © 2023 NTT DATA Group Corporation © 2023 NTT DATA Group Corporation マネージドPostgreSQLの実現に向けた PostgreSQL機能向上 2023年11月24日 PostgreSQL Conference Japan 2023 株式会社NTTデータグループ 技術開発本部 加藤 慎也
  • 2. © 2023 NTT DATA Group Corporation 2 自己紹介 • 名前 • 加藤 慎也 @ShinyaKato_ • 所属 • 株式会社NTTデータグループ 技術開発本部 • 業務 • PostgreSQLコミュニティでの開発 • PostgreSQLの研究開発やサポート業務
  • 3. © 2023 NTT DATA Group Corporation 3 本講演について • 講演資料は、NTTデータグループのSlideShareアカウント上で公開中 • https://www.slideshare.net/nttdata-tech • 検証環境 製品名 バージョン Amazon RDS for PostgreSQL PostgreSQL 14.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-12), 64-bit Azure Database for PostgreSQL (フレキシブル サーバー) PostgreSQL 14.7 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.5.0- 3ubuntu1~18.04) 7.5.0, 64-bit Cloud SQL for PostgreSQL PostgreSQL 14.7 on x86_64-pc-linux-gnu, compiled by Debian clang version 12.0.1, 64-bit オープンソース版PostgreSQL PostgreSQL 16.1
  • 4. © 2023 NTT DATA Group Corporation 4 マネージドサービスを使用していて、 権限が足りなくてやりたいことができない、 と困ったことはありませんか? スーパーユーザ使えないのか…? ということはCHECKPOINTコマンド 実行できないな… 必要な権限を付与できない… あれ、何故かこのパラメータは 変更できないぞ…
  • 5. © 2023 NTT DATA Group Corporation 5 PostgreSQLの機能が向上することで これらの課題が解決しつつあります! スーパーユーザ使えないのか…? ということはCHECKPOINTコマンド 実行できないな… 必要な権限を付与できない… あれ、何故かこのパラメータは 変更できないぞ… v15~ CHECKPOINTコマンドの権限を付与可能に! v16~ 権限付与のルールが変更 v15~ パラメータ毎にSET権限を設定可能
  • 6. © 2023 NTT DATA Group Corporation 6 マネージドPostgreSQLの主な制約 スーパーユーザを使用できない OSにログインできない • 一部のSQLコマンドを実行できない • 一部の権限を付与できない • 一部のパラメータを設定できない • スーパーユーザの所有するリレーション に対する任意の操作を実行できない • サーバのファイルを読み書きできない • サーバプログラムを実行できない • 拡張機能をインストールできない
  • 7. © 2023 NTT DATA Group Corporation 7 © 2023 NTT DATA Group Corporation 01 スーパーユーザを 使用できない問題
  • 8. © 2023 NTT DATA Group Corporation 8 ポイント 権限をより細やかに管理できる ような機能が充実
  • 9. © 2023 NTT DATA Group Corporation 9 CHECKPOINTコマンド • v14まではスーパーユーザしかCHECKPOINTコマンドを実行できなかった • v15で実装されたpg_checkpoint事前定義ロールを付与することで、 一般ユーザでもCHECKPOINTコマンドを実行できるようになった v15 =# CREATE ROLE not_have_pg_checkpoint ; =# SET ROLE not_have_pg_checkpoint ; => CHECKPOINT ; ERROR: 42501: permission denied to execute CHECKPOINT command DETAIL: Only roles with privileges of the "pg_checkpoint" role may execute this command. => RESET ROLE ; =# CREATE ROLE has_pg_checkpoint IN ROLE pg_checkpoint ; =# SET ROLE has_pg_checkpoint ; => CHECKPOINT ; CHECKPOINT pg_checkpointをもたないロールで CHECKPOINTコマンドを実行するとエラー pg_checkpointをもつロールで CHECKPOINTコマンドを実行すると成功
  • 10. © 2023 NTT DATA Group Corporation 10 CHECKPOINTコマンド • Amazon RDS for PostgreSQL • v14時点で独自に対応済み • Azure Database for PostgreSQL • v14時点で独自に対応済み • Cloud SQL for PostgreSQL • 未対応 => CHECKPOINT ; CHECKPOINT v15 => CHECKPOINT ; ERROR: 42501: must be superuser to do CHECKPOINT つまりソースコードを変更している! Cloud SQL for PostgreSQL Amazon RDS for PostgreSQL, Azure Database for PostgreSQL
  • 11. © 2023 NTT DATA Group Corporation 11 VACUUM、ANALYZE、CLUSTER、 REFRESH MATERIALIZED VIEW、REINDEX、LOCK TABLEコマンド • リレーションを所有するなどの適切な権限をもつロールしか これらのSQLコマンドを実行できなかった • 例)スーパーユーザの所有するシステムカタログのVACUUMを一般ユーザは実行できない • pg_maintain事前定義ロールを付与することで、 全リレーションに対してこれらのSQLコマンドを実行できるようになった • v16で導入予定だったが、権限昇格のバグによりRevertされた v16で実装されたが最終的にはRevert
  • 12. © 2023 NTT DATA Group Corporation 12 VACUUM、ANALYZE、CLUSTER、 REFRESH MATERIALIZED VIEW、REINDEX、LOCK TABLEコマンド • Amazon RDS for PostgreSQL • v14時点で独自に対応済み • Azure Database for PostgreSQL • 未対応 • Cloud SQL for PostgreSQL • 未対応 => VACUUM pg_db_role_setting ; VACUUM => VACUUM pg_db_role_setting ; WARNING: skipping "pg_db_role_setting" --- only superuser can vacuum it VACUUM v16で実装されたが最終的にはRevert Azure Database for PostgreSQL, Cloud SQL for PostgreSQL Amazon RDS for PostgreSQL
  • 13. © 2023 NTT DATA Group Corporation 13 CREATE EVENT TRIGGERコマンド • CREATE EVENT TRIGGERコマンドはスーパーユーザしか実行できない • PostgreSQL本体には実行権限を制御する機能はないが、 調査対象のクラウドでは独自に対応している 未対応 => CREATE EVENT TRIGGER trgr ON ddl_command_start EXECUTE FUNCTION any_func() ; ERROR: 42501: permission denied to create event trigger "abort_ddl" HINT: Must be superuser to create an event trigger. PostgreSQL 16 => CREATE EVENT TRIGGER trgr ON ddl_command_start EXECUTE FUNCTION any_func() ; CREATE EVENT TRIGGER Amazon RDS for PostgreSQL, Azure Database for PostgreSQL, Cloud SQL for PostgreSQL
  • 14. © 2023 NTT DATA Group Corporation 14 BYPASSRLS属性の付与 • v15まではスーパーユーザしかBYPASSRLS属性の付与ができなかった • v16では自身がCREATEROLE属性とBYPASSRLS属性を もっていれば付与できるようになった => ¥du shinya List of roles Role name | Attributes -----------+------------------------- shinya | Create role, Bypass RLS => CREATE ROLE has_bypassrls BYPASSRLS ; CREATE ROLE PostgreSQL 16 v16
  • 15. © 2023 NTT DATA Group Corporation 15 BYPASSRLS属性の付与 • Amazon RDS for PostgreSQL • v14時点で独自に対応済み • Azure Database for PostgreSQL • 未対応 • Cloud SQL for PostgreSQL • v14時点で独自に対応済み => CREATE ROLE has_bypassrls BYPASSRLS ; CREATE ROLE => CREATE ROLE has_replication REPLICATION ; ERROR: must be superuser to create bypassrls users => CREATE ROLE has_bypassrls BYPASSRLS ; CREATE ROLE v16 Cloud SQL for PostgreSQL Azure Database for PostgreSQL Amazon RDS for PostgreSQL
  • 16. © 2023 NTT DATA Group Corporation 16 REPLICATION属性の付与 • v15まではスーパーユーザしかREPLICATION属性の付与ができなかった • v16では自身がCREATEROLE属性とREPLICATION属性を もっていれば付与できるようになった => ¥du shinya List of roles Role name | Attributes -----------+-------------------------- shinya | Create role, Replication => CREATE ROLE has_replication REPLICATION ; CREATE ROLE PostgreSQL 16 v16
  • 17. © 2023 NTT DATA Group Corporation 17 REPLICATION属性の付与 • Amazon RDS for PostgreSQL • 未対応 • Azure Database for PostgreSQL • v14時点で独自に対応済み • Cloud SQL for PostgreSQL • v14時点で独自に対応済み => CREATE ROLE has_replication REPLICATION ; ERROR: 42501: must be superuser to create replication users => CREATE ROLE has_replication REPLICATION ; CREATE ROLE v16 Azure Database for PostgreSQL, Cloud SQL for PostgreSQL Amazon RDS for PostgreSQL
  • 18. © 2023 NTT DATA Group Corporation 18 任意のロールの付与 • v15まではCREATEROLE属性をもつロールは、 スーパーユーザ以外の任意のロールの付与・剥奪ができた • v16ではADMIN OPTION付きで自身がもつロールの付与・剥奪のみ実行可能に なった => ¥drg shinya List of role grants Role name | Member of | Options | Grantor -----------+---------------+---------------------+--------- shinya | pg_checkpoint | ADMIN, INHERIT, SET | rocky => GRANT pg_checkpoint TO role_a ; GRANT ROLE => GRANT pg_execute_server_program TO role_a ; ERROR: 42501: permission denied to grant role "pg_execute_server_program" DETAIL: Only roles with the ADMIN option on role "pg_execute_server_program" may grant this role. PostgreSQL 16 v16 ADMIN OPTIONつきでpg_checkpoint をもつのでGRANT可能 もたないpg_execute_server_programはGRANT不可
  • 19. © 2023 NTT DATA Group Corporation 19 任意のロールの付与 • Amazon RDS for PostgreSQL • v14時点で独自に対応済み • Azure Database for PostgreSQL • v14時点で独自に対応済み • Cloud SQL for PostgreSQL • v14時点で独自に対応済み => GRANT pg_execute_server_program TO role_a ; ERROR: 42501: cannot alter members of "pg_execute_server_program" DETAIL: "pg_execute_server_program" is a protected role. LOCATION: check_granted_role, rdsutils.c:1711 v16 rdsutils.cというファイルに 実装されている Amazon RDS for PostgreSQL
  • 20. © 2023 NTT DATA Group Corporation 20 【参考】 pg_execute_server_programロールによる権限昇格 https://www.slideshare.net/slideshow/embed_code/key/rscjGQhRUduPIL
  • 21. © 2023 NTT DATA Group Corporation 21 設定パラメータのSET、ALTER SYSTEM SET権限 • v15から、設定パラメータの SET、ALTER SYSTEM SET権限をGRANTコマンドで付与可能となった v15 => SELECT name, context FROM pg_settings WHERE name IN ('deadlock_timeout', 'commit_delay') ; name | context ------------------+----------- commit_delay | superuser deadlock_timeout | superuser =# GRANT SET ON PARAMETER deadlock_timeout TO shinya ; =# SET ROLE shinya ; => SET deadlock_timeout TO '5s’ ; SET => SET commit_delay TO '5s' ; ERROR: 42501: permission denied to set parameter "commit_delay" deadlock_timeout のSET権限を付与 deadlock_timeoutのSET成功 commit_delayのSET失敗 PostgreSQL 16
  • 22. © 2023 NTT DATA Group Corporation 22 設定パラメータのSET、ALTER SYSTEM SET権限 • Amazon RDS for PostgreSQL • v14時点で一部のパラメータのみ SETできるように対応済み • Azure Database for PostgreSQL • v14時点で session_replication_roleのみ SETできるように対応済み • Cloud SQL for PostgreSQL • 未対応 => SET deadlock_timeout TO '5s' ; SET => SET session_replication_role TO 'replica' ; SET => SET deadlock_timeout TO '5s' ; ERROR: permission denied to set parameter "deadlock_timeout" v15 Cloud SQL for PostgreSQL Azure Database for PostgreSQL Amazon RDS for PostgreSQL
  • 23. © 2023 NTT DATA Group Corporation 23 (スーパーユーザ以外の)任意のロールのコネクションの予約 • スーパーユーザのコネクションは superuser_reserved_connectionsパラメータで予約できた • v16から、 pg_use_reserved_connectionsロールを付与したロールの コネクションをreserved_connectionsパラメータで予約可能になった v16 superuser_ reserved_connections reserved_connections その他の接続 max_connections 同時接続可能な最大数 スーパーユーザのために 予約するコネクション数 pg_use_reserved_connections ロールをもつロールのために 予約するコネクション数
  • 24. © 2023 NTT DATA Group Corporation 24 (スーパーユーザ以外の)任意のロールのコネクションの予約 • Amazon RDS for PostgreSQL • v14時点で独自にrds.rds_superuser_reserved_connectionsというパラメータで RDS管理者ロールのコネクションを予約可能 • Azure Database for PostgreSQL • 未対応 • Cloud SQL for PostgreSQL • 未対応 => SHOW rds.rds_superuser_reserved_connections ; rds.rds_superuser_reserved_connections ---------------------------------------- 2 v16 Amazon RDS for PostgreSQL
  • 25. © 2023 NTT DATA Group Corporation 25 © 2023 NTT DATA Group Corporation 02 OSにログインできない問題
  • 26. © 2023 NTT DATA Group Corporation 26 ポイント ファイル操作を SQLインターフェースで実行可能に
  • 27. © 2023 NTT DATA Group Corporation 27 pg_ident_file_mappingsビュー • v15から、pg_ident.confファイルの中身を pg_ident_file_mappingsビューで確認できるようになった • postgresql.confはpg_settingsビュー、 pg_hba.confはpg_hba_file_rulesビューで確認可能 • ただし、デフォルトではスーパーユーザのみSELECT可能なので マネージドサービス利用者は使えない可能性が高い v15 =# SELECT * FROM pg_ident_file_mappings ; -[ RECORD 1 ]---------------------------------------- map_number | 1 file_name | /home/rocky/pgsql/16/data/pg_ident.conf line_number | 73 map_name | mymap sys_name | /^(.*)@mydomain¥.com$ pg_username | ¥1 error | [NULL] PostgreSQL 16
  • 28. © 2023 NTT DATA Group Corporation 28 pg_hba_file_rulesビュー • デフォルトではスーパーユーザのみSELECT可能 • Amazon RDS for PostgreSQL • SELECT権限が付与された状態でPostgreSQLが作成される • Azure Database for PostgreSQL • 未対応 • Cloud SQL for PostgreSQL • 未対応 補足 => SELECT * FROM pg_hba_file_rules LIMIT 3 ; line_number | type | database | user_name | address | netmask | auth_method | options | error -------------+-------+----------+------------+---------+---------+---------------+-----------+------- 2 | local | {all} | {rdsadmin} | [NULL] | [NULL] | peer | {map=rds} | [NULL] 6 | local | {all} | {all} | [NULL] | [NULL] | scram-sha-256 | [NULL] | [NULL] 12 | host | {all} | {rdsadmin} | all | [NULL] | reject | [NULL] | [NULL] Amazon RDS for PostgreSQL
  • 29. © 2023 NTT DATA Group Corporation 29 pg_walinspect拡張機能 • v15でcontribモジュールに追加された拡張機能 • マネージドサービスではOSにログインできずpg_waldumpを実行できないため、 SQLコマンドでWALの情報を確認できるようにと開発 • ただし、クラウド側でサポートされるまでは使用できない • Amazon RDS for PostgreSQLはサポート済み v15 =# SELECT start_lsn, end_lsn, prev_lsn, block_ref FROM pg_get_wal_record_info('0/E419E28'); -[ RECORD 1 ]----+------------------------------------------------- start_lsn | 0/E419E28 end_lsn | 0/E419E68 prev_lsn | 0/E419D78 block_ref | blkref #0: rel 1663/16385/1249 fork main blk 364 PostgreSQL 16
  • 30. © 2023 NTT DATA Group Corporation 30 Trusted Language Extensions for PostgreSQL(pg_tle) • AWSがOSSとして公開している、”安全な”拡張機能を開発するためのツール • ファイルシステムアクセスやネットワーク設定を制限し、 安全性を備えた信頼性のある言語を提供 • JavaScript、Perl、PL/pgSQL、SQLでの拡張機能の作成をサポート • Amazon RDS for PostgreSQLでは pg_tleを使用して開発した拡張機能を自由にインストール可能 補足
  • 31. © 2023 NTT DATA Group Corporation 31 まとめ • マネージドPostgreSQLを実現するための PostgreSQLの機能向上について説明しました • クラウドにより対応状況は様々ですが、 利用者の利便性を向上させたり、危険な操作を防止するために、 PostgreSQLのソースコードを変更して独自に対応していることがわかりました • マネージドPostgreSQLとオープンソース版PostgreSQLの違いを理解しつつ、 PostgreSQLのアップデートを楽しみましょう
  • 32. © 2023 NTT DATA Group Corporation 32 参考文献 • https://www.postgresql.org/docs/15/release-15.html • https://www.postgresql.org/docs/16/release-16.html • https://www.slideshare.net/slideshow/embed_code/key/rscjGQhRUduPIL • https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/PostgreSQL_trusted_ language_extension.html • https://github.com/aws/pg_tle