「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。 最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。 同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。
PostgreSQL 基本コマンド一覧(psql 辞書)
資格試験の合間にやっていました。テーマはITパスポートの試験でも出ていたSECIモデル。そのアプリです。何かの役に立てばいいかなと思い。ただ説明ばかりでほとんど役に立ちません。これは自覚しています。最近はやりのAI駆動開発というやつです。果たして駆動だったかも怪しいところではあるけども。。 Claudeで生成とChatCPTで評価みたいな具合です。マルチエージェントというわけではないです。 需要は無いですし、肝心の機能性はありません。しかしいい時代になったもんです。無料でサーバの構築から、Dockerを使用した環境構築、Redis、Python、PostgreSQLなど。まあ考えたとすれば案と…
概要 PostgreSQL の track_io_timing はデータベースによる I/O 待機の記録を有効にし、各種統計(pg_stat_* 系)や EXPLAIN などで参照できるようにする設定です。ですが、プラットフォームによっては深刻な負荷の原因になるとし、デフォルトでは無効となっています。pgsql-hackers でもデフォルトで有効にすることが議論されましたが、プラットフォーム依存のオーバーヘッド懸念が指摘され、少なくとも当該スレッドではデフォルト変更に至っていません。 PostgreSQL: track_io_timing default settingそこで、track_i…
概要 PostgreSQL には HOT (Heap-Only Tuples) という、更新のオーバーヘッドを減らす仕組みがあります。詳細は下記の記事を参照ください。 HOTの活用 | Let's POSTGRESHOT 更新には条件があり、その一つが「HOT更新のための十分なページ領域」です。テーブルの fillfactor(以下、FF)を下げると、ページ内に空き領域を残しやすくなり、HOT 更新が発生しやすくなります。 テーブルのfillfactorを減らすことで、HOT更新のための十分なページ領域の可能性を高めることができます。 そうしない場合でも、HOT更新は発生します。 なぜなら、新…
この記事は さくらインターネット Advent Calendar 2025 と Distributed Computing Advent Calendar 2025 の16日目の記事です。 12/16って言ったら12/16なんです。 qiita.com qiita.com 今回は、この記事を読んで pg_lake に興味が湧いたので触ってみました。 www.snowflake.com では、始める前に、想定読者と前提は以下の通りです。 Iceberg大好きっ子 Docker Compose / Docker イメージ作成は一通り分かる人 PostgreSQLを利用したことがある人 pg_lak…
psqlのpagerをteeにしておけば直前のクエリの結果がファイルに記録されるので、それをClaude Codeに食わせられるな…ということでやってみた。 $ psql -h localhost -U postgres postgres=# \setenv PSQL_PAGER 'tee query.log'; postgres=# \pset pager always postgres=# explain analyze WITH partition AS ( SELECT i.inhrelid, c.relname FROM pg_catalog.pg_inherits i JOIN p…
1. はじめに 「最近、アプリケーションの動きが遅くなった気がする」 「データの追加や保存に失敗することがある」 Windows上で動作するアプリケーションでPostgreSQLを使用している際、このようなトラブルに直面したことはありませんか? 実は、データベースは「使い続けるだけで、少しずつ散らかっていく」という性質を持っています。 この記事では、データベースの専門家(スペシャリスト)の視点から、なぜメンテナンスが必要なのか、そして具体的にどのようなコマンドを使えばよいのかを、初心者の方にも分かりやすく解説します。 考える人 1. はじめに 2. PostgreSQLのメンテナンスとは? 3…
株式会社リゾーム 業務ソリューション事業グループの藤岡です。 弊社ではショッピングセンター向けの製品を自社開発しており、私は BOND WORKS という製品の開発に携わっています。 この製品はマルチテナントアプリケーションであり、テナントごとにデータを分離する必要があります。 今回は、このマルチテナントデータを安全に扱うために、どのような方法を採用したのかをご紹介します。 開発情報 フレームワーク: Hanami2.3 (Ruby) ORM: ROM-rb(rom-sql, Sequel) データベース: PostgreSQL マルチテナントデータを扱う方法 マルチテナントのデータを扱う際に…
関連記事 概要 参考情報 関連記事 GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ 概要 以下、自分用のメモです。後でみて勉強する。 OpenAIが8億ユーザものデータ量を単一プライマリのPostgreSQLでさばいているという記事がアップされました。 openai.com こんな超規模なシステムでも単一プライマリでさばいている事自体が凄すぎですが、しっかりとした前提条件の設定と徹底的なエンジニアリングがあって成り立っていると思います。シャーディング無しの点も含めて凄すぎる。 参考情報 zenn.dev zenn.dev 過去の記事につい…
【結論】 PostgreSQLのtsvectorとGINインデックスを組み合わせた全文検索は、従来のLIKE検索と比較して最大71%の高速化を実現できる。tsvectorは文書を重複のない語彙素のソート済みリストに変換し、GINインデックスが転置インデックス構造で高速検索を可能にする。ただし1MBのサイズ制限があるため、長文データでは事前の文字数制限が必要である。 【根拠】 PostgreSQLフルテキスト検索の実装でメール検索を最大71%高速化した話 上記の記事は、PostgreSQLフルテキスト検索の実装事例を参考に、tsvectorとGINインデックスの技術的仕組みについて調査した内容で…