SlideShare a Scribd company logo
1 of 15
Download to read offline
PostgreSQL エラーが出ない話
Noriyoshi Shinoda
August 24, 2021
PostgreSQL Un-Conference #26
SPEAKER
篠田典良(しのだのりよし)
– 所属
– 日本ヒューレット・パッカード株式会社
– 現在の業務
– PostgreSQL をはじめ、Oracle Database, Microsoft SQL Server, Vertica 等 RDBMS 全般に関するシステムの
設計、移行、チューニング、コンサルティング
– Oracle ACE (2009 年 4 月~)
– オープンソース製品に関する調査、検証
– PostgreSQL 14 に対して
– psql コマンドに CREATE OR REPLACE TRIGGER 文のタブ補完(bf0aa7c4)
– pg_stat_replication_slots カタログの列名変更(03d51b77)など
– 関連する URL
– 「PostgreSQL 虎の巻」シリーズ
–http://h30507.www3.hp.com/t5/user/viewprofilepage/user-id/838802
– Oracle ACE ってどんな人?
–http://www.oracle.com/technetwork/jp/database/articles/vivadeveloper/index-1838335-ja.html
1
SPEAKER
篠田典良(しのだのりよし)
– PostgreSQL Unconference #15
– 2020年7月30日
– 検知できない破壊の話
– PostgreSQL Unconference #20
– 2021年2月2日
– プロセス障害の話
– PostgreSQL Unconference #26
– 2021年8月24日
– エラーが出ない話
– スライドはこちら
– https://www.slideshare.net/noriyoshishinoda
2
Huge Pages
Huge Pages とは?
– Linux における複数サイズのメモリー・ページを管理する仕組み
– 通常 4KB のページで管理する領域以外に 2MB ページ(デフォルト)の領域を追加
– Huge Pages を意識させない Transparent Huge Pages 機能もあるが DBMS サーバには非推奨
– カーネル・パラメーター vm.nr_hugepages にページ数を指定(デフォルト 0)
– 参考:
– Huge Page とは何ですか? これを使用する利点は?
–https://access.redhat.com/ja/solutions/293173
– Tuning Red Hat Enterprise Linux Family for PostgreSQL
–https://www.enterprisedb.com/blog/tuning-red-hat-enterprise-linux-family-postgresql
3
Huge Pages
MySQL では?
– 設定
– PostgreSQL の huge_pages = try に近い動作
[System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.24) starting as process 116322
[System] [MY-013576] [InnoDB] InnoDB initialization has started.
[Warning] [MY-012677] [InnoDB] Failed to allocate 138412032 bytes. errno 1
[Warning] [MY-012679] [InnoDB] Using conventional memory pool
[System] [MY-013577] [InnoDB] InnoDB initialization has ended.
# cat /etc/my.cnf
[mysqld]
large-pages
– 起動ログ
– Huge Pages 領域が確保できないので通常メモリーを使用するログが出力される
4
Huge Pages
Oracle Database では?
– 設定
– PostgreSQL の huge_pages = try に近い動作
Supported system pagesize(s):
PAGESIZE AVAILABLE_PAGES EXPECTED_PAGES ALLOCATED_PAGES ERROR(s)
4K Configured 4 309127 NONE
2048K 600 1200 597 NONE
RECOMMENDATION:
1. For optimal performance, configure system with expected number of pages for every supported system
pagesize prior to the next instance restart operation.
SQL> SHOW PARAMETER use_large_pages
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
use_large_pages string TRUE
– 起動ログ
– Huge Pages 領域が確保できない場合は、確保できる部分のみ Huge Pages を使用するとログが出力される
5
Huge Pages
PostgreSQL では?
– GUC huge_pages = try がデフォルト
– Huge Pages 領域を確保しようとするが、必要な領域が不足した場合は Huge Pages を一切使わない
– 成功も失敗もログには何も出力されないので /proc/meminfo とかで確認する必要がある
– 確保しようとした共有メモリー量は「log_min_messages = DEBUG3」にしないと出力されない
– ログ出力例
6
DEBUG: invoking IpcMemoryCreate(size=148324352)
DEBUG: mmap(148897792) with MAP_HUGETLB failed, huge pages disabled: Cannot allocate memory
Logical Replication
必要なリソース
– 多くの機能が関係する
– WAL にロジカル・レプリケーションに必要な情報を付与(wal_level = logical)
– WAL Sender プロセスの使用 (max_wal_senders > 0)
– Replication Slot の使用 (max_replication_slots > 0)
7
Primary Database Standby Database
wal_level = replica
max_wal_senders = 0
max_replication_slots = 0
CREATE SUBSCRIPTION sub1
ERROR: could not create replication slot "sub1":
ERROR: logical decoding requires wal_level >= logical
ERROR: could not connect to the publisher: connection to server on
socket …" failed: FATAL: number of requested standby connections
exceeds max_wal_senders (currently 0)
ERROR: could not create replication slot "sub1": ERROR:
replication slots can only be used if max_replication_slots > 0
Logical Replication
必要なリソース
– 現状ではプライマリ・インスタンスのリソース不足時 CREATE SUBSCRIPTION文は成功する
– プライマリ・インスタンスでは以下のエラー・ログが定期的に出力される
– max_wal_senders 不足時のプライマリ・インスタンスのエラー
8
FATAL: number of requested standby connections exceeds max_wal_senders (currently 1)
ERROR: all replication slots are in use
HINT: Free one or increase max_replication_slots.
STATEMENT: CREATE_REPLICATION_SLOT "pg_32786_sync_32778_6997334902875904787" LOGICAL
pgoutput USE_SNAPSHOT
ERROR: replication slot "pg_32786_sync_32778_6997334902875904787" does not exist
STATEMENT: DROP_REPLICATION_SLOT pg_32786_sync_32778_6997334902875904787 WAIT
– max_replication_slots 不足時のプライマリ・インスタンスのエラー
Logical Replication
必要なリソース
– PostgreSQL 14 における変更
– PostgreSQL 13 では、初期データ移行と差分更新が同一のトランザクションで実施されていた
– PostgreSQL 14 ではそれぞれ独立したトランザクションで実行される(Commit Hash: ce0fdbfe)
– それぞれレプリケーション・スロットと WAL Sender が割り当てられるため、一時的に2倍のリソースが必要
– 現状では一度リソース不足のエラー・メッセージが出力されると、SUBSCRIPTION を削除するまでエ
ラーが解消されない?
9
コマンド・パラメーター
数値型のパラメーターに文字列を指定
– エラーが発生するコマンドは?
10
$ pg_basebackup -D data.bck --compress=ABC
$ pg_ctl --wait --timeout=DEF start
$ pg_ctl kill TERM GHI
$ pg_dump --compress=JKL --extra-float-digits=MNO
$ pg_dumpall --extra-float-digits=PQR
$ pg_receivewal -D data.rcv --compress=STU --status-interval=VWX
$ pg_recvlogical --fsync-interval=YZA --status-interval=BCD
$ pgbench pgbench --initialize --partitions=EFG
$ vacuumdb --parallel=HIJ
– 全部動作します。
– PostgreSQL 14 Beta 3 まで
コマンド・パラメーター
数値型のパラメーターに文字列を指定
– ソースコード
11
case 'Z': /* Compression Level */
compressLevel = atoi(optarg);
if (compressLevel < 0 || compressLevel > 9)
{
pg_log_error("compression level must be in range 0..9");
…
– PostgreSQL 15dev では改善
– 2021/7/24: Unify parsing logic for command-line integer options / Commit Hash: b859d94c で修正
case 'Z': /* Compression Level */
if (!option_parse_int(optarg, "-Z/--compress", 0, 9,
&compressLevel))
exit_nicely(1);
…
UNLOGGED TABLE
クラッシュ・リカバリ中のデータ削除
– マニュアル(CREATE TABLE)
12
クラッシュまたは異常停止の後、ログを取らないテーブルは自動的に切り詰められます。
– クラッシュ・リカバリ中のログ
LOG: listening on IPv4 address "127.0.0.1", port 5432
LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
LOG: database system was interrupted; last known up at 2021-08-23 12:54:55 JST
LOG: database system was not properly shut down; automatic recovery in progress
LOG: redo starts at 0/96F8E68
invalid record length at 0/FB7E220: wanted 24, got 0
LOG: redo done at 0/FB7E1B8 system usage: CPU: user: 0.21 s, system: 0.04 s, elapsed: 0.25 s
LOG: database system is ready to accept connections
– 「log_min_messages = DEBUG1」設定時のログ
DEBUG: resetting unlogged relations: cleanup 0 init 1
予告
篠田の虎の巻
– Citus 10 の検証資料を作成中
– Columnar Table
– Shard Rebalancer
– Etc.
– Azure Database for PostgreSQL – Hyperscale (Citus) now GA
– https://azure.microsoft.com/en-us/updates/azure-database-for-postgresql-hyperscale-citus-columnar-
compression-now-generally-available/
– 9月前半には公開予定
13
THANK YOU
Mail: noriyoshi.shinoda@hpe.com
Twitter: @nori_shinoda

More Related Content

What's hot

MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較Shinya Sugiyama
 
MySQL8.0 SYS スキーマ概要
MySQL8.0 SYS スキーマ概要MySQL8.0 SYS スキーマ概要
MySQL8.0 SYS スキーマ概要Shinya Sugiyama
 
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜Michitoshi Yoshida
 
MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理Shinya Sugiyama
 
Migr8.rb チュートリアル
Migr8.rb チュートリアルMigr8.rb チュートリアル
Migr8.rb チュートリアルkwatch
 
MySQLとPostgreSQLの基本的なバックアップ比較
MySQLとPostgreSQLの基本的なバックアップ比較MySQLとPostgreSQLの基本的なバックアップ比較
MySQLとPostgreSQLの基本的なバックアップ比較Shinya Sugiyama
 
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介Shinya Sugiyama
 
MySQLとPostgreSQLの基本的なパラメータ比較
MySQLとPostgreSQLの基本的なパラメータ比較MySQLとPostgreSQLの基本的なパラメータ比較
MySQLとPostgreSQLの基本的なパラメータ比較Shinya Sugiyama
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努Insight Technology, Inc.
 
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境yut148atgmaildotcom
 
MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較Shinya Sugiyama
 
Pg14_sql_standard_function_body
Pg14_sql_standard_function_bodyPg14_sql_standard_function_body
Pg14_sql_standard_function_bodykasaharatt
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうkasaharatt
 
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーションイルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーションyoku0825
 
MySQL ガチBeginnerがやってみたことと反省したこと
MySQL ガチBeginnerがやってみたことと反省したことMySQL ガチBeginnerがやってみたことと反省したこと
MySQL ガチBeginnerがやってみたことと反省したことSatoshi Suzuki
 

What's hot (18)

MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較MySQLとPostgreSQLの基本的な実行プラン比較
MySQLとPostgreSQLの基本的な実行プラン比較
 
MySQL8.0 SYS スキーマ概要
MySQL8.0 SYS スキーマ概要MySQL8.0 SYS スキーマ概要
MySQL8.0 SYS スキーマ概要
 
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
進化したのはサーバだけじゃない!〜DBA の毎日をもっと豊かにするユーティリティのすすめ〜
 
MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理MySQLとPostgreSQLにおける基本的なアカウント管理
MySQLとPostgreSQLにおける基本的なアカウント管理
 
MySQL Partition Engine
MySQL Partition EngineMySQL Partition Engine
MySQL Partition Engine
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
Migr8.rb チュートリアル
Migr8.rb チュートリアルMigr8.rb チュートリアル
Migr8.rb チュートリアル
 
MySQLとPostgreSQLの基本的なバックアップ比較
MySQLとPostgreSQLの基本的なバックアップ比較MySQLとPostgreSQLの基本的なバックアップ比較
MySQLとPostgreSQLの基本的なバックアップ比較
 
MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介MySQL SYSスキーマのご紹介
MySQL SYSスキーマのご紹介
 
MySQLとPostgreSQLの基本的なパラメータ比較
MySQLとPostgreSQLの基本的なパラメータ比較MySQLとPostgreSQLの基本的なパラメータ比較
MySQLとPostgreSQLの基本的なパラメータ比較
 
C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努C16 45分でわかるPostgreSQLの仕組み by 山田努
C16 45分でわかるPostgreSQLの仕組み by 山田努
 
配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境配布用Beginnerならきっと役立つmaster slave環境
配布用Beginnerならきっと役立つmaster slave環境
 
MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較MySQLとPostgreSQLの基本的なレプリケーション設定比較
MySQLとPostgreSQLの基本的なレプリケーション設定比較
 
Pg14_sql_standard_function_body
Pg14_sql_standard_function_bodyPg14_sql_standard_function_body
Pg14_sql_standard_function_body
 
PostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろうPostgreSQLの関数属性を知ろう
PostgreSQLの関数属性を知ろう
 
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーションイルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
イルカさんチームからゾウさんチームに教えたいMySQLレプリケーション
 
EDB Postgres Vision 2019
EDB Postgres Vision 2019 EDB Postgres Vision 2019
EDB Postgres Vision 2019
 
MySQL ガチBeginnerがやってみたことと反省したこと
MySQL ガチBeginnerがやってみたことと反省したことMySQL ガチBeginnerがやってみたことと反省したこと
MySQL ガチBeginnerがやってみたことと反省したこと
 

Similar to PostgreSQL Unconference #26 No Error on PostgreSQL

Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6Toshi Harada
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...Insight Technology, Inc.
 
20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JPKohei KaiGai
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubJpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubToshi Harada
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LTKohei KaiGai
 
Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Toshi Harada
 
Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6Toshi Harada
 
20170127 JAWS HPC-UG#8
20170127 JAWS HPC-UG#820170127 JAWS HPC-UG#8
20170127 JAWS HPC-UG#8Kohei KaiGai
 
PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)Kosuke Kida
 
Chugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pubChugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pubToshi Harada
 
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 TokyoYoshiyuki Asaba
 
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-1020171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10Toshi Harada
 
Kof2016 postgresql-9.6
Kof2016 postgresql-9.6Kof2016 postgresql-9.6
Kof2016 postgresql-9.6Toshi Harada
 
20190119 aws-study-pg-extension
20190119 aws-study-pg-extension20190119 aws-study-pg-extension
20190119 aws-study-pg-extensionToshi Harada
 
PostgreSQL13を検証してみた
PostgreSQL13を検証してみたPostgreSQL13を検証してみた
PostgreSQL13を検証してみたNaoya Takeuchi
 
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-1020171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10Toshi Harada
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説Masahiko Sawada
 
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥Insight Technology, Inc.
 
Pgunconf14 pg13-psql
Pgunconf14 pg13-psqlPgunconf14 pg13-psql
Pgunconf14 pg13-psqlToshi Harada
 

Similar to PostgreSQL Unconference #26 No Error on PostgreSQL (20)

Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6Chugoku db 17th-postgresql-9.6
Chugoku db 17th-postgresql-9.6
 
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
[db tech showcase Tokyo 2014] D21: Postgres Plus Advanced Serverはここが使える&9.4新機...
 
20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP20180920_DBTS_PGStrom_JP
20180920_DBTS_PGStrom_JP
 
Jpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pubJpug study-postgre sql-10-pub
Jpug study-postgre sql-10-pub
 
20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT20181212 - PGconf.ASIA - LT
20181212 - PGconf.ASIA - LT
 
Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10Ntt tx-study-postgre sql-10
Ntt tx-study-postgre sql-10
 
Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6Hackers Champloo 2016 postgresql-9.6
Hackers Champloo 2016 postgresql-9.6
 
20170127 JAWS HPC-UG#8
20170127 JAWS HPC-UG#820170127 JAWS HPC-UG#8
20170127 JAWS HPC-UG#8
 
PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)PostgreSQLレプリケーション(pgcon17j_t4)
PostgreSQLレプリケーション(pgcon17j_t4)
 
Chugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pubChugoku db 20th-postgresql-10-pub
Chugoku db 20th-postgresql-10-pub
 
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
 
20171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-1020171106 ntt-tx-postgre sql-10
20171106 ntt-tx-postgre sql-10
 
Kof2016 postgresql-9.6
Kof2016 postgresql-9.6Kof2016 postgresql-9.6
Kof2016 postgresql-9.6
 
20190119 aws-study-pg-extension
20190119 aws-study-pg-extension20190119 aws-study-pg-extension
20190119 aws-study-pg-extension
 
PostgreSQL13を検証してみた
PostgreSQL13を検証してみたPostgreSQL13を検証してみた
PostgreSQL13を検証してみた
 
about dakota6.7 gui
about dakota6.7 guiabout dakota6.7 gui
about dakota6.7 gui
 
20171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-1020171028 osc-nagaoka-postgre sql-10
20171028 osc-nagaoka-postgre sql-10
 
PostgreSQL10徹底解説
PostgreSQL10徹底解説PostgreSQL10徹底解説
PostgreSQL10徹底解説
 
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
 
Pgunconf14 pg13-psql
Pgunconf14 pg13-psqlPgunconf14 pg13-psql
Pgunconf14 pg13-psql
 

More from Noriyoshi Shinoda

PostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationPostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationNoriyoshi Shinoda
 
Citus 10 verification result (Japanese)
Citus 10 verification result (Japanese)Citus 10 verification result (Japanese)
Citus 10 verification result (Japanese)Noriyoshi Shinoda
 
PostgreSQL 14 Beta1 New Features with Examples (Japanese)
PostgreSQL 14 Beta1 New Features with Examples (Japanese)PostgreSQL 14 Beta1 New Features with Examples (Japanese)
PostgreSQL 14 Beta1 New Features with Examples (Japanese)Noriyoshi Shinoda
 
PostgreSQL 14 Beta 1 New Features with Examples (English)
PostgreSQL 14 Beta 1 New Features with Examples (English)PostgreSQL 14 Beta 1 New Features with Examples (English)
PostgreSQL 14 Beta 1 New Features with Examples (English)Noriyoshi Shinoda
 
PostgreSQL 12 New Features with Examples (English) GA
PostgreSQL 12 New Features with Examples (English) GAPostgreSQL 12 New Features with Examples (English) GA
PostgreSQL 12 New Features with Examples (English) GANoriyoshi Shinoda
 
PostgreSQL 12 Beta 1 New Features with Examples (Japanese)
PostgreSQL 12 Beta 1 New Features  with Examples (Japanese)PostgreSQL 12 Beta 1 New Features  with Examples (Japanese)
PostgreSQL 12 Beta 1 New Features with Examples (Japanese)Noriyoshi Shinoda
 
PostgreSQL 12 Beta 1 New Features with Examples (English)
PostgreSQL 12 Beta 1 New Features with Examples (English)PostgreSQL 12 Beta 1 New Features with Examples (English)
PostgreSQL 12 Beta 1 New Features with Examples (English)Noriyoshi Shinoda
 
Let's scale-out PostgreSQL using Citus (English)
Let's scale-out PostgreSQL using Citus (English)Let's scale-out PostgreSQL using Citus (English)
Let's scale-out PostgreSQL using Citus (English)Noriyoshi Shinoda
 
PostgreSQL 11 New Features With Examples (Japanese)
PostgreSQL 11 New Features With Examples (Japanese)PostgreSQL 11 New Features With Examples (Japanese)
PostgreSQL 11 New Features With Examples (Japanese)Noriyoshi Shinoda
 
PostgreSQL 11 New Features With Examples (English)
PostgreSQL 11 New Features With Examples (English)PostgreSQL 11 New Features With Examples (English)
PostgreSQL 11 New Features With Examples (English)Noriyoshi Shinoda
 
PostgreSQL 11 New Features Japanese version (Beta 1)
PostgreSQL 11 New Features Japanese version (Beta 1)PostgreSQL 11 New Features Japanese version (Beta 1)
PostgreSQL 11 New Features Japanese version (Beta 1)Noriyoshi Shinoda
 
PostgreSQL 11 New Features English version (Beta 1)
PostgreSQL 11 New Features English version (Beta 1)PostgreSQL 11 New Features English version (Beta 1)
PostgreSQL 11 New Features English version (Beta 1)Noriyoshi Shinoda
 
PGConf.ASIA 2017 Logical Replication Internals (English)
PGConf.ASIA 2017 Logical Replication Internals (English)PGConf.ASIA 2017 Logical Replication Internals (English)
PGConf.ASIA 2017 Logical Replication Internals (English)Noriyoshi Shinoda
 
PostgreSQL 10 New Features (English)
PostgreSQL 10 New Features (English)PostgreSQL 10 New Features (English)
PostgreSQL 10 New Features (English)Noriyoshi Shinoda
 
PostgreSQL 10 Beta1 New Features (Japanese)
PostgreSQL 10 Beta1 New Features (Japanese)PostgreSQL 10 Beta1 New Features (Japanese)
PostgreSQL 10 Beta1 New Features (Japanese)Noriyoshi Shinoda
 
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)Noriyoshi Shinoda
 

More from Noriyoshi Shinoda (17)

PostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU CollationPostgreSQL Unconference #5 ICU Collation
PostgreSQL Unconference #5 ICU Collation
 
Citus 10 verification result (Japanese)
Citus 10 verification result (Japanese)Citus 10 verification result (Japanese)
Citus 10 verification result (Japanese)
 
PostgreSQL 14 Beta1 New Features with Examples (Japanese)
PostgreSQL 14 Beta1 New Features with Examples (Japanese)PostgreSQL 14 Beta1 New Features with Examples (Japanese)
PostgreSQL 14 Beta1 New Features with Examples (Japanese)
 
PostgreSQL 14 Beta 1 New Features with Examples (English)
PostgreSQL 14 Beta 1 New Features with Examples (English)PostgreSQL 14 Beta 1 New Features with Examples (English)
PostgreSQL 14 Beta 1 New Features with Examples (English)
 
PostgreSQL 12 New Features with Examples (English) GA
PostgreSQL 12 New Features with Examples (English) GAPostgreSQL 12 New Features with Examples (English) GA
PostgreSQL 12 New Features with Examples (English) GA
 
PostgreSQL 12 Beta 1 New Features with Examples (Japanese)
PostgreSQL 12 Beta 1 New Features  with Examples (Japanese)PostgreSQL 12 Beta 1 New Features  with Examples (Japanese)
PostgreSQL 12 Beta 1 New Features with Examples (Japanese)
 
PostgreSQL 12 Beta 1 New Features with Examples (English)
PostgreSQL 12 Beta 1 New Features with Examples (English)PostgreSQL 12 Beta 1 New Features with Examples (English)
PostgreSQL 12 Beta 1 New Features with Examples (English)
 
Let's scale-out PostgreSQL using Citus (English)
Let's scale-out PostgreSQL using Citus (English)Let's scale-out PostgreSQL using Citus (English)
Let's scale-out PostgreSQL using Citus (English)
 
PostgreSQL 11 New Features With Examples (Japanese)
PostgreSQL 11 New Features With Examples (Japanese)PostgreSQL 11 New Features With Examples (Japanese)
PostgreSQL 11 New Features With Examples (Japanese)
 
PostgreSQL 11 New Features With Examples (English)
PostgreSQL 11 New Features With Examples (English)PostgreSQL 11 New Features With Examples (English)
PostgreSQL 11 New Features With Examples (English)
 
Citus 7.5 Beta 検証結果
Citus 7.5 Beta 検証結果Citus 7.5 Beta 検証結果
Citus 7.5 Beta 検証結果
 
PostgreSQL 11 New Features Japanese version (Beta 1)
PostgreSQL 11 New Features Japanese version (Beta 1)PostgreSQL 11 New Features Japanese version (Beta 1)
PostgreSQL 11 New Features Japanese version (Beta 1)
 
PostgreSQL 11 New Features English version (Beta 1)
PostgreSQL 11 New Features English version (Beta 1)PostgreSQL 11 New Features English version (Beta 1)
PostgreSQL 11 New Features English version (Beta 1)
 
PGConf.ASIA 2017 Logical Replication Internals (English)
PGConf.ASIA 2017 Logical Replication Internals (English)PGConf.ASIA 2017 Logical Replication Internals (English)
PGConf.ASIA 2017 Logical Replication Internals (English)
 
PostgreSQL 10 New Features (English)
PostgreSQL 10 New Features (English)PostgreSQL 10 New Features (English)
PostgreSQL 10 New Features (English)
 
PostgreSQL 10 Beta1 New Features (Japanese)
PostgreSQL 10 Beta1 New Features (Japanese)PostgreSQL 10 Beta1 New Features (Japanese)
PostgreSQL 10 Beta1 New Features (Japanese)
 
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
PostgreSQL Internals (1) for PostgreSQL 9.6 (English)
 

Recently uploaded

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 

Recently uploaded (9)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 

PostgreSQL Unconference #26 No Error on PostgreSQL

  • 1. PostgreSQL エラーが出ない話 Noriyoshi Shinoda August 24, 2021 PostgreSQL Un-Conference #26
  • 2. SPEAKER 篠田典良(しのだのりよし) – 所属 – 日本ヒューレット・パッカード株式会社 – 現在の業務 – PostgreSQL をはじめ、Oracle Database, Microsoft SQL Server, Vertica 等 RDBMS 全般に関するシステムの 設計、移行、チューニング、コンサルティング – Oracle ACE (2009 年 4 月~) – オープンソース製品に関する調査、検証 – PostgreSQL 14 に対して – psql コマンドに CREATE OR REPLACE TRIGGER 文のタブ補完(bf0aa7c4) – pg_stat_replication_slots カタログの列名変更(03d51b77)など – 関連する URL – 「PostgreSQL 虎の巻」シリーズ –http://h30507.www3.hp.com/t5/user/viewprofilepage/user-id/838802 – Oracle ACE ってどんな人? –http://www.oracle.com/technetwork/jp/database/articles/vivadeveloper/index-1838335-ja.html 1
  • 3. SPEAKER 篠田典良(しのだのりよし) – PostgreSQL Unconference #15 – 2020年7月30日 – 検知できない破壊の話 – PostgreSQL Unconference #20 – 2021年2月2日 – プロセス障害の話 – PostgreSQL Unconference #26 – 2021年8月24日 – エラーが出ない話 – スライドはこちら – https://www.slideshare.net/noriyoshishinoda 2
  • 4. Huge Pages Huge Pages とは? – Linux における複数サイズのメモリー・ページを管理する仕組み – 通常 4KB のページで管理する領域以外に 2MB ページ(デフォルト)の領域を追加 – Huge Pages を意識させない Transparent Huge Pages 機能もあるが DBMS サーバには非推奨 – カーネル・パラメーター vm.nr_hugepages にページ数を指定(デフォルト 0) – 参考: – Huge Page とは何ですか? これを使用する利点は? –https://access.redhat.com/ja/solutions/293173 – Tuning Red Hat Enterprise Linux Family for PostgreSQL –https://www.enterprisedb.com/blog/tuning-red-hat-enterprise-linux-family-postgresql 3
  • 5. Huge Pages MySQL では? – 設定 – PostgreSQL の huge_pages = try に近い動作 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.24) starting as process 116322 [System] [MY-013576] [InnoDB] InnoDB initialization has started. [Warning] [MY-012677] [InnoDB] Failed to allocate 138412032 bytes. errno 1 [Warning] [MY-012679] [InnoDB] Using conventional memory pool [System] [MY-013577] [InnoDB] InnoDB initialization has ended. # cat /etc/my.cnf [mysqld] large-pages – 起動ログ – Huge Pages 領域が確保できないので通常メモリーを使用するログが出力される 4
  • 6. Huge Pages Oracle Database では? – 設定 – PostgreSQL の huge_pages = try に近い動作 Supported system pagesize(s): PAGESIZE AVAILABLE_PAGES EXPECTED_PAGES ALLOCATED_PAGES ERROR(s) 4K Configured 4 309127 NONE 2048K 600 1200 597 NONE RECOMMENDATION: 1. For optimal performance, configure system with expected number of pages for every supported system pagesize prior to the next instance restart operation. SQL> SHOW PARAMETER use_large_pages NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ use_large_pages string TRUE – 起動ログ – Huge Pages 領域が確保できない場合は、確保できる部分のみ Huge Pages を使用するとログが出力される 5
  • 7. Huge Pages PostgreSQL では? – GUC huge_pages = try がデフォルト – Huge Pages 領域を確保しようとするが、必要な領域が不足した場合は Huge Pages を一切使わない – 成功も失敗もログには何も出力されないので /proc/meminfo とかで確認する必要がある – 確保しようとした共有メモリー量は「log_min_messages = DEBUG3」にしないと出力されない – ログ出力例 6 DEBUG: invoking IpcMemoryCreate(size=148324352) DEBUG: mmap(148897792) with MAP_HUGETLB failed, huge pages disabled: Cannot allocate memory
  • 8. Logical Replication 必要なリソース – 多くの機能が関係する – WAL にロジカル・レプリケーションに必要な情報を付与(wal_level = logical) – WAL Sender プロセスの使用 (max_wal_senders > 0) – Replication Slot の使用 (max_replication_slots > 0) 7 Primary Database Standby Database wal_level = replica max_wal_senders = 0 max_replication_slots = 0 CREATE SUBSCRIPTION sub1 ERROR: could not create replication slot "sub1": ERROR: logical decoding requires wal_level >= logical ERROR: could not connect to the publisher: connection to server on socket …" failed: FATAL: number of requested standby connections exceeds max_wal_senders (currently 0) ERROR: could not create replication slot "sub1": ERROR: replication slots can only be used if max_replication_slots > 0
  • 9. Logical Replication 必要なリソース – 現状ではプライマリ・インスタンスのリソース不足時 CREATE SUBSCRIPTION文は成功する – プライマリ・インスタンスでは以下のエラー・ログが定期的に出力される – max_wal_senders 不足時のプライマリ・インスタンスのエラー 8 FATAL: number of requested standby connections exceeds max_wal_senders (currently 1) ERROR: all replication slots are in use HINT: Free one or increase max_replication_slots. STATEMENT: CREATE_REPLICATION_SLOT "pg_32786_sync_32778_6997334902875904787" LOGICAL pgoutput USE_SNAPSHOT ERROR: replication slot "pg_32786_sync_32778_6997334902875904787" does not exist STATEMENT: DROP_REPLICATION_SLOT pg_32786_sync_32778_6997334902875904787 WAIT – max_replication_slots 不足時のプライマリ・インスタンスのエラー
  • 10. Logical Replication 必要なリソース – PostgreSQL 14 における変更 – PostgreSQL 13 では、初期データ移行と差分更新が同一のトランザクションで実施されていた – PostgreSQL 14 ではそれぞれ独立したトランザクションで実行される(Commit Hash: ce0fdbfe) – それぞれレプリケーション・スロットと WAL Sender が割り当てられるため、一時的に2倍のリソースが必要 – 現状では一度リソース不足のエラー・メッセージが出力されると、SUBSCRIPTION を削除するまでエ ラーが解消されない? 9
  • 11. コマンド・パラメーター 数値型のパラメーターに文字列を指定 – エラーが発生するコマンドは? 10 $ pg_basebackup -D data.bck --compress=ABC $ pg_ctl --wait --timeout=DEF start $ pg_ctl kill TERM GHI $ pg_dump --compress=JKL --extra-float-digits=MNO $ pg_dumpall --extra-float-digits=PQR $ pg_receivewal -D data.rcv --compress=STU --status-interval=VWX $ pg_recvlogical --fsync-interval=YZA --status-interval=BCD $ pgbench pgbench --initialize --partitions=EFG $ vacuumdb --parallel=HIJ – 全部動作します。 – PostgreSQL 14 Beta 3 まで
  • 12. コマンド・パラメーター 数値型のパラメーターに文字列を指定 – ソースコード 11 case 'Z': /* Compression Level */ compressLevel = atoi(optarg); if (compressLevel < 0 || compressLevel > 9) { pg_log_error("compression level must be in range 0..9"); … – PostgreSQL 15dev では改善 – 2021/7/24: Unify parsing logic for command-line integer options / Commit Hash: b859d94c で修正 case 'Z': /* Compression Level */ if (!option_parse_int(optarg, "-Z/--compress", 0, 9, &compressLevel)) exit_nicely(1); …
  • 13. UNLOGGED TABLE クラッシュ・リカバリ中のデータ削除 – マニュアル(CREATE TABLE) 12 クラッシュまたは異常停止の後、ログを取らないテーブルは自動的に切り詰められます。 – クラッシュ・リカバリ中のログ LOG: listening on IPv4 address "127.0.0.1", port 5432 LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" LOG: database system was interrupted; last known up at 2021-08-23 12:54:55 JST LOG: database system was not properly shut down; automatic recovery in progress LOG: redo starts at 0/96F8E68 invalid record length at 0/FB7E220: wanted 24, got 0 LOG: redo done at 0/FB7E1B8 system usage: CPU: user: 0.21 s, system: 0.04 s, elapsed: 0.25 s LOG: database system is ready to accept connections – 「log_min_messages = DEBUG1」設定時のログ DEBUG: resetting unlogged relations: cleanup 0 init 1
  • 14. 予告 篠田の虎の巻 – Citus 10 の検証資料を作成中 – Columnar Table – Shard Rebalancer – Etc. – Azure Database for PostgreSQL – Hyperscale (Citus) now GA – https://azure.microsoft.com/en-us/updates/azure-database-for-postgresql-hyperscale-citus-columnar- compression-now-generally-available/ – 9月前半には公開予定 13