postgreSQL

postgreSQL

(コンピュータ)
【ぽすとぐれえすきゅーえる】

「ポストグレス」「ポストグレスキューエル」などとも読む。 オープンソース系RDBMS(Relational Database Management System) のひとつ。
最近のバージョンでは(SQL99の仕様に近い)オブジェクト指向リレーショナルデータベースとしての機能も充実してきており、その高機能さが特徴となっている。
同じオープンソース系RDBMSでも、機能よりも速度と扱いやすさを選んだMySQLとは対照的である。

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

PostgreSQLのオプティマイザとGEQOについて学んだこと

はじめに 以下の記事を読んで、PostgreSQLのオプティマイザの挙動とGEQOについて学んだので、その内容を整理する。 【やらかしアドカレ】あの日見た障害の原因を僕達はまだ知らなかった。 【PostgreSQL】ヒント句効かない時は遺伝的問い合わせ(GEQO)が原因かも これらの記事では、データ量変動によりオプティマイザがフルスキャンを選択してしまう問題と、pg_hint_planのヒント句が効かない状況について、実際の障害事例とその解決過程が報告されている。特にGEQO(遺伝的問い合わせ最適化)とpg_hint_planの非互換性は、ドキュメントを読まないと気づきにくい問題だ。 本記事で...

ネットで話題

もっと見る

関連ブログ

「ログ」から学んだ PostgreSQL のアーキテクチャの基本

こんにちは、Plex Job 開発チームの高岡です。 先日 PLEX TechCon 2025 が開催されました。 惜しくも登壇機会を得られなかったため、本記事にて発表する予定だった内容をまとめてみました。 来年こそは登壇を勝ち取ります 🔥 ▼ 当日の様子はこちら PLEX TechCon 2025 レポート - PLEX Product Team Blog はじめに PostgreSQLの構成 プロセス構成(全体図の赤の要素) メモリ構成(全体図の黄色の要素) 調査した3つのログ 1. チェックポイント処理のログ📝 概要 チューニングポイント 2. 自動バキューム処理のログ 🧹 概要 チュー...

検索専用テーブルによる高速検索設計を調べて

以下の記事を読んだことがきっかけで、RDBにおける高速検索の設計について疑問が湧いたため、関連知識を調べて整理する。 参考記事 - 検索が爆速になるデータベース設計を公開します 調べた疑問点 記事を読んでいて、特に次の点が気になった: なぜ「検索専用テーブル」を作ると高速になるのか 型最適化・アラインメント調整が検索性能にどう影響するのか 余計なカラムを持たないことがなぜ効くのか JSON に詰め込む方式が遅くなる理由 検索専用テーブルの自動生成(機械生成)がどのような場面で有効か、逆にどこで不要か なぜ検索専用テーブルは高速なのか 検索専用テーブルの最大の目的は、RDBが本来得意とする"単純...

UUID v7がデータベース性能を大幅改善する理由 - B-Treeインデックスとキャッシュ効率の観点から

はじめに 以下の記事でUUID v7とv4の違いについて詳しく解説されており、データベース性能の改善効果について疑問が湧いたため、技術的な背景を深掘りしてみた。 参考記事: [UUIDv7 vs UUIDv4] 違いをまとめてみた|使い分けの特徴やDBパフォーマンス差の比較 https://zenn.dev/kudotaka0421/articles/f01a6a6ff6e352 2024年5月にRFC 9562として正式に標準化されたUUID v7について、従来のUUID v4と比較してデータベースのINSERT性能が大幅に向上するという話の技術的な背景を調べた。 結論から言うと、UUID ...

PostgreSQLのメモリチューニング実践:キャッシュヒット率とwork_mem調整

前半は雑メモ 後半はタイトル通りの中身でハンズオンしたものを記事にした。 VACUUM 何する デッドタプル削除 フリースペースマップの更新 統計情報の更新 VACUUMはテーブルロックなしで並行アクセスが可能なのに対して、 VACUUM Fullはディスク容量を完全に解放する。テーブル全体をロックして、かなり時間がかかる。 いつ実行される 更新削除された行数 > vacuum_threshhold + vacuum_scale_factor * テーブルの行数 デフォルト値 vacuum_threshhold: 50 vacuum_scale_factor: 0.2 デフォルト設定で、100...

【2025年10月】 SupabaseでSQLiteからPostgreSQLへ移行する方法!!〜 UIの落とし穴と移行手順まとめ

SQLiteで開発していたローカルWebアプリを、PostgreSQLへ移行する必要がありました。 ChatGPTに相談したところ、Supabaseという選択肢を提案してくれました。 「なるほど、PostgreSQLがサーバレスで使えるなら楽そう」と思い、Supabaseを採用してみたのですが...... DB接続情報の場所が分からず大苦戦。 この記事では、Supabaseの最新UIでPostgreSQL接続情報を探す方法、 そして FastAPI + SQLModel 環境でPostgreSQLへ切り替える手順をまとめます。 🔧 開発環境 バックエンド:FastAPI フロントエンド:React D...

PostgreSQLのパーティショニング入門

パーティショニングわからん 概念としては少し理解してるつもりだった。 なんかキーを指定して、物理的にデータを分割して 指定したキーに沿って分割した、キーに対する部分条件に対して部分的にアクセスする際に パーティショニング有無でレコードに対するアクセス速度、効率がそれなりに変わることがある。 ただし、データ量については非常に大きな量ないと効果はあまりない。 しかし、実際に扱ってみるとなんだこれはということが多々あったため、今一度調べ直そうと思った。 パーティショニングとは パーティショニングは、大きなテーブルを複数の物理的な小テーブル(パーティション)に分割する技術。 論理的には単一のテーブルと...

AltStyle によって変換されたページ (->オリジナル) /