From 3ad9f4541c122a8dfe231335ef80a9111005f24c Mon Sep 17 00:00:00 2001 From: Abe Tomoaki Date: Thu, 10 Sep 2026 13:35:40 +0900 Subject: [PATCH] news: add 4.0.9 entry --- _po/ja/news/index.po | 109 +++++++++++++++++++++++++++++++++++++++++-- ja/news/index.md | 52 +++++++++++++++++++++ news/index.md | 57 ++++++++++++++++++++++ 3 files changed, 214 insertions(+), 4 deletions(-) diff --git a/_po/ja/news/index.po b/_po/ja/news/index.po index 2133d6f5..2dc56d14 100644 --- a/_po/ja/news/index.po +++ b/_po/ja/news/index.po @@ -22,12 +22,116 @@ msgstr "" msgid "# News" msgstr "# おしらせ" -msgid "## 4.0.8: 2026-08-03 {#version-4-0-8}" +msgid "## 4.0.9: 2026-09-14 {#version-4-0-9}" msgstr "" msgid "### Improvements" msgstr "### 改良" +msgid "#### Added a new function `pgroonga_physical_table_names()`" +msgstr "#### `pgroonga_physical_table_names()` を新しく追加" + +msgid "" +"If you create a PGroonga index against a partitioned table, an index is " +"created for each partition.\n" +"Each of these indexes has its own Groonga table but there was no way to know " +"the names of these Groonga tables." +msgstr "" +"パーティションテーブルに対してPGroongaのインデックスを作成すると、パーティ" +"ションごとにインデックスが作成されます。これらのインデックスはそれぞれGroonga" +"のテーブルを持っていますが、それらのGroongaのテーブル名を知る方法がありません" +"でした。" + +msgid "" +"`pgroonga_physical_table_names()` returns the Groonga table names of all " +"partitions of the given partitioned index.\n" +"The returned value is a `text[]` that is formatted as arguments of a Groonga " +"command.\n" +"The first argument is the name of the partitioned index and the second " +"argument is the prefix of the generated argument names:" +msgstr "" +"`pgroonga_physical_table_names()` は指定したパーティションインデックスのすべ" +"てのGroongaのテーブル名を返します。返り値はGroongaのコマンドの引数の形式に整" +"形された `text[]` です。1つ目の引数はパーティションインデックスの名前、2つ目" +"の引数は生成する引数名のプレフィックスです。" + +msgid "" +"```sql\n" +"CREATE TABLE blogs (\n" +" content text,\n" +" registered_at date\n" +") PARTITION BY RANGE (registered_at);" +msgstr "" + +msgid "" +"CREATE TABLE blogs_2025 PARTITION OF blogs\n" +" FOR VALUES FROM ('2025-01-01') TO ('2025-12-31');\n" +"CREATE TABLE blogs_2026 PARTITION OF blogs\n" +" FOR VALUES FROM ('2026-01-01') TO ('2026-12-31');" +msgstr "" + +msgid "CREATE INDEX pgroonga_content_index ON blogs USING pgroonga (content);" +msgstr "" + +msgid "" +"SELECT pgroonga_physical_table_names('pgroonga_content_index', 'shard');\n" +"-- pgroonga_physical_table_names\n" +"-- ----------------------------------------------------------\n" +"-- {shard[0].table,Sources90187,shard[1].table,Sources90188}\n" +"-- (1 row)\n" +"```" +msgstr "" + +msgid "" +"#### Added support for counting the number of index scans with " +"`pg_stat_user_indexes`" +msgstr "" +"#### `pg_stat_user_indexes` でインデックスのスキャン回数を確認できるように改" +"良" + +msgid "" +"[GH-1001](https://github.com/pgroonga/pgroonga/issues/1001)[Reported by SATO " +"KEN]" +msgstr "" +"[GH-1001](https://github.com/pgroonga/pgroonga/issues/1001)[SATO KENさんの報" +"告]" + +msgid "" +"PGroonga didn't increment `idx_scan` in `pg_stat_user_indexes`.\n" +"So `idx_scan` was always `0` even when a PGroonga index was used." +msgstr "" +"PGroongaは `pg_stat_user_indexes` の `idx_scan` を更新していませんでした。そ" +"のため、PGroongaのインデックスを使って検索しても `idx_scan` は常に `0` のまま" +"でした。" + +msgid "" +"PGroonga increments `idx_scan` since this release.\n" +"You can confirm how many times your PGroonga index is used as below:" +msgstr "" +"このリリースからPGroongaは `idx_scan` を更新します。以下のようにPGroongaのイ" +"ンデックスが何回使われたかを確認できます。" + +msgid "" +"```sql\n" +"SELECT idx_scan\n" +" FROM pg_stat_user_indexes\n" +" WHERE indexrelname = 'pgrn_content_index';\n" +"-- idx_scan\n" +"-- ----------\n" +"-- 1\n" +"-- (1 row)\n" +"```" +msgstr "" + +msgid "### Thanks" +msgstr "### 感謝" + +msgid "- SATO KEN" +msgstr "- SATO KENさん" + +msgid "## 4.0.8: 2026-08-03 {#version-4-0-8}" +msgstr "" + msgid "" "#### [[Ubuntu][ubuntu]] Added support for Ubuntu 26.04 (Resolute Raccoon)" msgstr "#### [[Ubuntu][ubuntu]] Ubuntu 26.04 (Resolute Raccoon)をサポート" @@ -199,9 +303,6 @@ msgstr "" msgid "This release adds a condition to prevent the race condition." msgstr "このリリースで、この競合状態を防止する条件を追加しました。" -msgid "### Thanks" -msgstr "### 感謝" - msgid "- junK433" msgstr "- junK433さん" diff --git a/ja/news/index.md b/ja/news/index.md index 2cc4a564..36a61260 100644 --- a/ja/news/index.md +++ b/ja/news/index.md @@ -5,6 +5,58 @@ upper_level: ../ # おしらせ +## 4.0.9: 2026-09-14 {#version-4-0-9} + +### 改良 + +#### `pgroonga_physical_table_names()` を新しく追加 + +パーティションテーブルに対してPGroongaのインデックスを作成すると、パーティションごとにインデックスが作成されます。これらのインデックスはそれぞれGroongaのテーブルを持っていますが、それらのGroongaのテーブル名を知る方法がありませんでした。 + +`pgroonga_physical_table_names()` は指定したパーティションインデックスのすべてのGroongaのテーブル名を返します。返り値はGroongaのコマンドの引数の形式に整形された `text[]` です。1つ目の引数はパーティションインデックスの名前、2つ目の引数は生成する引数名のプレフィックスです。 + +```sql +CREATE TABLE blogs ( + content text, + registered_at date +) PARTITION BY RANGE (registered_at); + +CREATE TABLE blogs_2025 PARTITION OF blogs + FOR VALUES FROM ('2025-01-01') TO ('2025-12-31'); +CREATE TABLE blogs_2026 PARTITION OF blogs + FOR VALUES FROM ('2026-01-01') TO ('2026-12-31'); + +CREATE INDEX pgroonga_content_index ON blogs USING pgroonga (content); + +SELECT pgroonga_physical_table_names('pgroonga_content_index', 'shard'); +-- pgroonga_physical_table_names +-- ---------------------------------------------------------- +-- {shard[0].table,Sources90187,shard[1].table,Sources90188} +-- (1 row) +``` + +#### `pg_stat_user_indexes` でインデックスのスキャン回数を確認できるように改良 + +[GH-1001](https://github.com/pgroonga/pgroonga/issues/1001)[SATO KENさんの報告] + +PGroongaは `pg_stat_user_indexes` の `idx_scan` を更新していませんでした。そのため、PGroongaのインデックスを使って検索しても `idx_scan` は常に `0` のままでした。 + +このリリースからPGroongaは `idx_scan` を更新します。以下のようにPGroongaのインデックスが何回使われたかを確認できます。 + +```sql +SELECT idx_scan + FROM pg_stat_user_indexes + WHERE indexrelname = 'pgrn_content_index'; +-- idx_scan +-- ---------- +-- 1 +-- (1 row) +``` + +### 感謝 + +- SATO KENさん + ## 4.0.8: 2026-08-03 {#version-4-0-8} ### 改良 diff --git a/news/index.md b/news/index.md index e7dd2d72..1aa100a2 100644 --- a/news/index.md +++ b/news/index.md @@ -5,6 +5,63 @@ upper_level: ../ # News +## 4.0.9: 2026-09-14 {#version-4-0-9} + +### Improvements + +#### Added a new function `pgroonga_physical_table_names()` + +If you create a PGroonga index against a partitioned table, an index is created for each partition. +Each of these indexes has its own Groonga table but there was no way to know the names of these Groonga tables. + +`pgroonga_physical_table_names()` returns the Groonga table names of all partitions of the given partitioned index. +The returned value is a `text[]` that is formatted as arguments of a Groonga command. +The first argument is the name of the partitioned index and the second argument is the prefix of the generated argument names: + +```sql +CREATE TABLE blogs ( + content text, + registered_at date +) PARTITION BY RANGE (registered_at); + +CREATE TABLE blogs_2025 PARTITION OF blogs + FOR VALUES FROM ('2025-01-01') TO ('2025-12-31'); +CREATE TABLE blogs_2026 PARTITION OF blogs + FOR VALUES FROM ('2026-01-01') TO ('2026-12-31'); + +CREATE INDEX pgroonga_content_index ON blogs USING pgroonga (content); + +SELECT pgroonga_physical_table_names('pgroonga_content_index', 'shard'); +-- pgroonga_physical_table_names +-- ---------------------------------------------------------- +-- {shard[0].table,Sources90187,shard[1].table,Sources90188} +-- (1 row) +``` + +#### Added support for counting the number of index scans with `pg_stat_user_indexes` + +[GH-1001](https://github.com/pgroonga/pgroonga/issues/1001)[Reported by SATO KEN] + +PGroonga didn't increment `idx_scan` in `pg_stat_user_indexes`. +So `idx_scan` was always `0` even when a PGroonga index was used. + +PGroonga increments `idx_scan` since this release. +You can confirm how many times your PGroonga index is used as below: + +```sql +SELECT idx_scan + FROM pg_stat_user_indexes + WHERE indexrelname = 'pgrn_content_index'; +-- idx_scan +-- ---------- +-- 1 +-- (1 row) +``` + +### Thanks + +- SATO KEN + ## 4.0.8: 2026-08-03 {#version-4-0-8} ### Improvements