suer TIL

Databases

DATABASE
2026-08-23 2026-08-23
eye catch

【PostgreSQL】pg_stat_statementsで重いクエリを特定する

pg_stat_statementsの有効化 pg_stat_statementsは、実行されたSQL文ごとに実行回数や実行時間を集計する拡張機能である。postgresql.confのshared_preload_librariesに追加し、PostgreSQLを再起動してからCREATE EXTENSIONで有効化する。
DATABASE
2026-07-22 2026-08-21
eye catch

【PostgreSQL】EXPLAIN (ANALYZE, BUFFERS)でキャッシュヒット率を確認する

BUFFERSオプションとは EXPLAINにBUFFERSオプションを付けると、クエリの実行中に読み込んだブロック数が表示される。ANALYZEと併用することで、実行計画の各ノードがどれだけ共有バッファ(キャッシュ)を使ったかを確認できる。
DATABASE
2026-07-22 2026-07-22
eye catch

【PostgreSQL】EXPLAIN ANALYZEの読み方の基本

EXPLAIN ANALYZEとは EXPLAINはクエリの実行計画を表示するコマンドである。ANALYZEオプションを付けると、実際にクエリを実行し実行時間や実際の処理件数も表示する。
DATABASE
2026-07-21 2026-07-22
eye catch

【PostgreSQL】pg_stat_activityで実行中クエリとロック待ちを確認する

参考: 【MySQL】SHOW PROCESSLISTで実行中クエリとロック待ちを確認する 実行中のクエリを確認する PostgreSQLで現在実行中のクエリを確認するにはpg_stat_activityビューをSELECTする。
DATABASE
2026-07-21 2026-08-22
eye catch

【PostgreSQL】TOASTテーブルの仕組みとサイズ確認方法

TOASTとは PostgreSQLのTOAST(The Oversized-Attribute Storage Technique)は、大きなデータを効率的に格納するための仕組み。PostgreSQLではテーブルの行サイズが約8KBに制限されているため、大きなデータはTOASTテーブルと呼ばれる別のテーブルに自動的に分割して格納される。
DATABASE
2025-12-31 2026-01-01
eye catch

【PostgreSQL】各データベースのサイズを確認する

pg_database_size(データベース名) PostgreSQLで各データベースのサイズを確認するには、pg_database_size関数を使用する。 pg_database_size関数は、引数にデータベース名を指定し、そのサイズをバイト単位で返す。
DATABASE
2025-12-24 2026-08-20
eye catch

【PostgreSQL】 データベース名を変更する

データベース名を変更する方法 PostgreSQLではデータベース名を変更するためにはALTER DATABASEを使用して以下のように実行する。 ALTER DATABASE 現在のDB名 RENAME TO 新しいDB名; 変更するには変更対象のデータベースに接続しているセッションが存在しない状態で実行する必要がある。 すべてのセッションの接続を切断した上で実行する。
DATABASE
2025-06-01 2025-06-01
eye catch

【PostgreSQL】テーブルとデータベースのoidを取得する方法

oid2nameコマンドでoidを取得する PostgreSQLのoid2nameコマンドを使用してテーブルやデータベースのoidを取得できる。 DBの一覧 DBを指定せずにoid2nameを実行すると、全てのデータベースの一覧が表示される。
DATABASE
2025-06-01 2025-06-01
eye catch

【PostgreSQL】ページャーを無効にして大量件数の結果でも一度に出力する

psqlでページャーが有効になっている場合 psqlコマンドでクエリを実行すると、結果が多い場合にページャーが有効になる。 例えば以下のように-cオプションで結果が多いクエリを実行する。 $ psql -d testdb -c "SELECT id FROM users;" id ----- 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 : 以上のようにページャーが有効になっており、末尾に:が表示される。
DATABASE
2024-12-15 2024-12-15
eye catch

【PostgreSQL】指定したテーブルのインデックスを確認する

SQLでインデックスを確認する PostgreSQLで指定したテーブルのインデックスを確認するにはpg_indexesシステムカタログをSELECTする。 SELECT * FROM pg_indexes WHERE tablename = 'テーブル名'; 例えばusersテーブルのインデックスを確認するには以下のように実行する。
DATABASE
2024-12-15 2026-08-15
  • ««
  • «
  • 3
  • 4
  • 5
  • 6
  • 7
  • »
  • »»
AUTHOR
author image
suer
ふつうのプログラマ
LATESTS
eye catch
【MySQL】EXPLAIN ANALYZEで実測値を確認する
DATABASE
2026-08-23 2026-08-23
eye catch
【MySQL】EXPLAINの読み方の基本
DATABASE
2026-08-23 2026-08-23
eye catch
【MySQL】デッドロックのログの読み方
DATABASE
2026-08-23 2026-08-23
eye catch
【MySQL】SHOW PROCESSLISTで実行中クエリとロック待ちを確認する
DATABASE
2026-08-22 2026-08-22
eye catch
【MySQL】performance_schemaで重いクエリを特定する
DATABASE
2026-08-21 2026-08-21
  • ホーム
  • お問い合わせ
  • プライバシーポリシー

© 2022 suer