タグ

postgresqlに関するmichael-unltdのブックマーク (111)

  • Render.comが素敵過ぎるのでもっと知られて欲しい

    株式会社パルケの悩めるCTO、みつるです パルケでこれまでリリースしたプロダクトは、Render.comというクラウドベンダー上に構築しました。 Render.comは、2022年の頭頃からTwitterなどのSNSで名前を目にするようになりました。 半年ほど前から実際に運用してみたところ、他のサービスへの乗り換えが考えられないぐらい素敵が溢れていました。 私は悩めるCTOなのですが、Render.comのおかげで、クラウドサービスについてほとんど悩む必要がありません。 この記事でRender.comの素敵さが少しでも伝われば幸いです。 Render.comとは何なのか 公式より(意訳) Rnder.comは、あなたのアプリやウェブサイトをビルド・実行する統合クラウドサービスです。無料のTLS認証、グローバルなCDN、DDoS防御、プライベートネットワーク、Gitからの自動デプロイが利用で

    Render.comが素敵過ぎるのでもっと知られて欲しい
    michael-unltd
    michael-unltd 2024/08/27
    “専任のインフラエンジニアを採用する余裕がない 新規サービスが今後どれぐらい成長するかわからない 標準的な技術で新規にWebサービスを開発する。 プロトタイプ的に早くリリースして世に問いたい 特に、フロントはRe
  • Cloud SQL for PostgreSQL の各エディションの概要  |  Google Cloud

    パフォーマンスの強化 Cloud SQL for PostgreSQL Enterprise Plus エディションでは、読み取りと書き込みのパフォーマンスが強化されており、最大のパフォーマンスを必要とするアプリケーションに最適です。このエディションには、次の機能強化が含まれています。 データ キャッシュを使用した読み取りパフォーマンスの向上: データ キャッシュは、高速なローカル SSD を利用して頻繁に読み取られるデータページを保存します。永続ディスクからの読み取りと比較して、読み取りパフォーマンスが最大 3 倍向上します。データ キャッシュはオプション機能で、インスタンスの作成時または作成後に有効にできます。 書き込みパフォーマンスの改善: Cloud SQL Enterprise Plus エディションでは、書き込みレイテンシが最大 2 倍まで向上します。このため、低レイテンシと高

    Cloud SQL for PostgreSQL の各エディションの概要  |  Google Cloud
    michael-unltd
    michael-unltd 2024/02/18
    “エディション間の移行はできますか? Database Migration Service を使用して、次の 2 つの方法で Cloud SQL Enterprise エディションと Cloud SQL Enterprise Plus エディションの間でインスタンスを移動できます。”
  • グーグルのHTAP対応PostgreSQL互換DB「AlloyDB」、データ分析性能は最大100倍

    Googleグーグル)は2022年5月に開催した年次カンファレンス「Google I/O 2022」で、新しいデータベース(DB)サービスである「AlloyDB for PostgreSQL」を発表した。 グーグル2022年5月12日(米国時間)に発表したAlloyDB for PostgreSQLは、同社が独自に開発したDBのサービスで、オープンソースソフトウエア(OSS)のリレーショナルDBRDB)である「PostgreSQL」と互換性がある。ユーザーはPostgreSQL用のSQLクエリーや拡張機能がそのまま利用できる。 AlloyDB for PostgreSQLの特徴は、トランザクション処理(OLTP)性能とデータ分析(OLAP)性能を両立した点だ。グーグルによればAlloyDB for PostgreSQLは標準的なPostgreSQLに比べて、同じ数のCPUを使用する

    グーグルのHTAP対応PostgreSQL互換DB「AlloyDB」、データ分析性能は最大100倍
    michael-unltd
    michael-unltd 2023/09/06
    “Google Cloudはこれまで、標準的なRDBのマネージドサービスでPostgreSQLやMySQL、米Microsoft(マイクロソフト)のSQL Serverに対応する「Cloud SQL」と、DWHのサービスである「BigQuery」、トランザクション処理に特化したRDBサービスの「
  • PostgreSQL(pgvector) のベクトル検索による全自動PDF検索 : Blob Storage にアップロードしPDFをテキストに変換 - Qiita

    1. はじめに 先日、Azure OpenAI Embedding モデルを利用し最も関連性の高いドキュメントを見つける方法 について説明しました。これを利用する事で、最も関連性の高いドキュメントを見つける事ができます。 この記事では、この機能を利用し PDF ファイルを Azure Blob Storage にアップロードすると、自動的に PDF ファイルをテキストに変換し、Azure OpenAI Embedding モデルを利用して、ベクトル検索を行う方法について説明します。 このサービスを利用すると、社内ドキュメントも、各種論文も PDF ファイルであれば何でも、Azure の Storage にアップロードするだけで、自動的にそのドキュメントを検索できるようにして、実際に検索をすると該当箇所を ChatGPT が該当部分をまとめて表示してくれるようになります。 1.1 サービスの

    PostgreSQL(pgvector) のベクトル検索による全自動PDF検索 : Blob Storage にアップロードしPDFをテキストに変換 - Qiita
  • pgvector、LLM、LangChain を使用して Google Cloud データベースで AI 搭載アプリを構築する | Google Cloud 公式ブログ

    postgres=> CREATE TABLE embeddings( id INTEGER, embedding vector(3) ); CREATE TABLE postgres=> INSERT INTO embeddings VALUES (1, '[1, 0, -1]'), (2, '[1, 1, 1]'), (3, '[1, 1, 50]'); INSERT 0 3 pgvector の新しい類似性検索演算子pgvector 拡張機能では、ベクトルに対して類似性のマッチングを行うための新しい演算子も導入されており、意味的に似ているベクトルを見つけることができます。このような演算子には次の 2 つがあります。 ‘<->’: 2 つのベクトル間のユークリッド距離を返します。ユークリッド距離は、ベクトルの大きさが重要なアプリケーション、たとえばマッピングやナビゲーション アプリケー

    pgvector、LLM、LangChain を使用して Google Cloud データベースで AI 搭載アプリを構築する | Google Cloud 公式ブログ
  • PostgreSQL 12の新機能:CTEの高速化

    現在開発中のPostgreSQL 12では、様々な新機能の追加や改良が予定されています。稿では、その中でも実用上の価値が高いと思われる改良の一つである、CTEの高速化についてご紹介します。 CTEとは CTEとは、”Common Table Expressions” (共通テーブル式)の略で、SQL文内でテーブル式を定義し、それを同じSQL文内から参照できるものです。CTEには、普通の検索を行うだけでなく、再帰的なクエリ実行を行ったり(WITH RECURSIVE)、CTE内で更新処理を行うこともできますが、PostgreSQL 12で改良されたのは、再帰も更新も伴わない通常の検索処理で使われるCTEです。 CTEを使うと、複雑なクエリや、同じようなサブクエリを何度も呼ぶようなSQL文を見通しよく書くことができます。同じようなことはVIEWや関数を定義することによっても可能ですが、CTE

    PostgreSQL 12の新機能:CTEの高速化
    michael-unltd
    michael-unltd 2020/12/11
    “PostgreSQL 11では2秒以上かかっているの対し、PostgreSQL 12では0.7秒くらいと、PostgreSQL 12では3倍程度高速化されている”
  • pg_repack 1.4.8 -- PostgreSQLデータベースのテーブルを最小限のロックで再編成します

    pg_repack 1.4.8 -- PostgreSQLデータベースのテーブルを最小限のロックで再編成します Versions: 1.3 1.4 master Languages: en jp pg_repack はPostgreSQLの拡張の一つで、肥大化したテーブルやインデックスを再編成し、さらに指定したインデックスにしたがってレコードを並び替えることができます。 PostgreSQLの CLUSTER や VACUUM FULL コマンドと違って、pg_repackは処理の間対象テーブルへの排他ロックを保持し続けないため、オンライン中に動作させることができます。 pg_repackはCLUSTERコマンドを直接実行するのと同じくらいの性能で起動することができて効率的です。 pg_repack は pg_reorg からフォークしたプロジェクトです。 バグ報告や開発情報については p

    michael-unltd
    michael-unltd 2020/12/04
    “-k, --no-superuser-check 接続ユーザがスーパーユーザかどうかのチェックを行いません”
  • PostgreSQLの監視に便利なSQL一覧(随時更新中) - Qiita

    はじめに PostgreSQLの監視や運用時などに便利(と思われる)なSQLの個人メモです。 色々な資料やサイトを参考に一覧にしてみました。 これからも便利そうなSQLを書いたり、見つけたりしたら都度更新していくつもりです。 なお、実行例の載せており、全てPostgreSQL12で実行した結果です。 キャッシュヒット率 データベース毎のキャッシュヒット率 select datname, round(blks_hit*100/(blks_hit+blks_read), 2) as cache_hit_ratio from pg_stat_database where blks_read > 0;

    PostgreSQLの監視に便利なSQL一覧(随時更新中) - Qiita
  • 稼動統計情報を活用しよう(2) | Let's POSTGRES

    NTT オープンソースソフトウェアセンタ 笠原 辰仁 稼動統計情報を取得してみよう では、実際に稼動統計情報を取得してみましょう。稼動統計情報は、PostgreSQLのテーブルやビューの形で提供されています。pg_stat_* という名称のテーブル/ビューがそれらに当たります。そのため、取得にはSQLを用います。なお、psqlの\dコマンドなどでpg_stat_*のビュー定義を見てみると、pg_stat_get_*() 関数で各種情報が取得されていることが分かると思います。稼動統計情報を直接取得するには関数を使うのですが、それをビュー経由でユーザが閲覧できるようになっています。項では、pg_stat_*で提供されているビューを読み解いていくことにします。 それでは、前ページの冒頭で紹介した情報について具体的に解説していきます。下記は稼動統計情報の中でも多用される情報ですので、覚えておくと

    michael-unltd
    michael-unltd 2020/12/04
    “キャッシュヒット率の確認 pg_stat_databaseのblks_readとblks_hitを利用します。blks_hitは共有メモリにあった(キャッシュヒットした)ブロックの読み込み回数、blks_readは共有メモリに無かった(キャッシュヒットしなかった)ブロッ
  • the cache hit rate using pg_statio_user_tables

    michael-unltd
    michael-unltd 2020/12/04
    “heap_blks_hit”
  • How to Boost PostgreSQL Cache Performance

    When thinking about caching data for incredibly fast retrieval, technologies like Redis and Memcached often come to a developer’s mind. I, however, want to discuss a less commonly acknowledged cache that also helps with improving data retrieval time: a cache within a database. The ability to fetch data quickly is crucial for any high throughput application and service. For the Notifications team a

    How to Boost PostgreSQL Cache Performance
    michael-unltd
    michael-unltd 2020/12/04
    “There are also many other database configurations, such as the effective_cache_size, that are worth looking into and tuning if you still are seeing database performance issues.”
  • 十分なメモリがある場合でもスワップメモリを使用する Amazon RDS インスタンスのトラブルシューティング

    Amazon Relational Database Service (Amazon RDS) DB インスタンスを実行しています。十分な空きメモリが割り当てられているにもかかわらず、大量のスワップメモリを使用されています。十分なメモリがあるのに、スワップメモリが使用される理由は何ですか? 簡単な説明 Linux を実行する Amazon Elastic Compute Cloud (Amazon EC2) インスタンスは、システムが割り当てられた以上のメモリを必要とするときにスワップメモリを使用します。詳細については、インスタンスストアのスワップボリュームをご参照ください。ほとんどの RDS DB インスタンスでは Linux が使用されるため (SQL Server を除く)、データベースでスワップメモリを使用できる場合があります。 RDS DB インスタンスは、クエリの実行時など、ペ

    十分なメモリがある場合でもスワップメモリを使用する Amazon RDS インスタンスのトラブルシューティング
    michael-unltd
    michael-unltd 2020/12/04
    “大量のメモリを消費しているプロセスを特定するには、次の pg_stat_activity ビューを実行して、拡張モニタリングプロセスのリストにあるプロセス ID を正確なクエリにマッピングしてください。”
  • User with superuser privileges returns ERROR: pg_repack failed with error: You must be a superuser to use pg_repack · Issue #190 · reorg/pg_repack

    michael-unltd
    michael-unltd 2020/11/21
    “User with superuser privileges returns ERROR: pg_repack failed”
  • pg_repack 1.5.1 -- Reorganize tables in PostgreSQL databases with minimal locks

    pg_repack 1.5.1 -- Reorganize tables in PostgreSQL databases with minimal locks Versions: 1.1 1.2 1.3 1.4 1.5 master Languages: en jp pg_repack is a PostgreSQL extension which lets you remove bloat from tables and indexes, and optionally restore the physical order of clustered indexes. Unlike CLUSTER and VACUUM FULL it works online, without holding an exclusive lock on the processed tables during

    michael-unltd
    michael-unltd 2020/11/19
    “pgxn install pg_repack”からもインストール可能
  • pg_repack (オンラインテーブル再編成ツール)

    pg_repack は PostgreSQL のテーブルをオンラインで再編成できるツールです。記事では pg_repackについて紹介します。 良く知られている通り、PostgreSQL は追記型アーキテクチャを採用しています。UPDATE や DELETE をしても旧データを格納した行はしばらく物理ファイル上に残り、これを VACUUM コマンドや自動 VACUUM で整理して、その領域を再利用可能にする仕組みとなっています。何らかの理由でこれらの手動・自動の VACUUM 処理が実行されなかった場合には、データ格納に使われない不要領域が増加し、性能劣化の原因となります。そのような場合には、CLUSTER コマンドや VACUUM FULL コマンドを使って、テーブルの再編成をするのですが、これらのコマンドは強いロックを取得するため、サービス中の適用が難しいという課題がありました。 p

    pg_repack (オンラインテーブル再編成ツール)
    michael-unltd
    michael-unltd 2020/11/13
    “pg_repack は、参照や更新処理を長時間のブロックをせずに CLUSTER コマンドや VACUUM FULL コマンド相当の処理を実行することができます。また、合わせてインデックスの再作成も行います。”
  • 運用で役立つツールpg_repackのご紹介 - Qiita

    この記事は PostgreSQL Advent Calendar 2015 - Qiita の9日目です。 8日目は osapon さんに書いていただきました。 この記事では、PostgreSQLを運用する上で役立つかもしれないツールの一つ pg_repack を紹介したいと思います。 pg_repackとは pg_repack はPostgreSQLの拡張ツール(エクステンション)の一つで、肥大化したテーブルやインデックスを再編成し、さらに指定したインデックスにしたがってレコードを並び替えることができます。 PostgreSQLの CLUSTER や VACUUM FULL コマンドと違って、pg_repackは処理の間対象テーブルへの排他ロックを保持し続けないため、オンライン中に動作させることができます。 どういうことなのか、説明していきますね。 テーブルやインデックスの肥大化 Pos

    運用で役立つツールpg_repackのご紹介 - Qiita
    michael-unltd
    michael-unltd 2020/11/07
    “VACUUM FULLやREINDEX実行中は対象のテーブルに対してACCESS EXCLUSIVEという最も強い排他ロックが掛かるため、テーブルの参照処理すらもアクセスできなくなる点です。 そのため、サービス中のPostgreSQLに対して実行してしまうと
  • インデックスの種類

    また、BETWEENやINなどのこれらの演算子の組み合わせと等価な式をB-treeインデックス検索で実装することができます。 インデックスの付いた列に対するIS NULLやIS NOT NULLでもB-treeインデックスを使用することができます。 オプティマイザは、パターンマッチ演算子LIKE、~を含む問い合わせでも、そのパターンが定数であり、先頭文字列を指定している場合B-treeインデックスを使用することができます。 例えば、col LIKE 'foo%'またはcol ~ '^foo'です。 col LIKE '%bar'では使用されません。 しかし、データベースがCロケールを使用していない場合、パターンマッチ問い合わせのインデックス付けをサポートする特別な演算子クラスでインデックスを作成しなければなりません。 後述の項11.9を参照してください。 なお、ILIKEと~*でもB-tr

    michael-unltd
    michael-unltd 2020/11/07
    “PostgreSQLでは、B-tree、Hash、GiST、SP-GiST、GINといった複数の種類のインデックスを使用可能です。 ”
  • https://www.postgresql.jp/sites/default/files/2017-01/B2_mouanshin_DBanteikadou_ni_muketa_PostgreSQL_seinoushindan.pdf

    michael-unltd
    michael-unltd 2020/07/13
    診断観点
  • psql で出力結果をファイルに出力する - ablog

    書式 # \o <ファイル名> # <SQLを実行する> # \q 例 # \o test.txt # select * from test'; # \q $ ls -1 test.txt 参考 PostgreSQL/MySQLで、クエリの結果をファイルに出力する - 極北データモデリング https://www.postgresql.jp/document/9.2/html/app-psql.html

    psql で出力結果をファイルに出力する - ablog
    michael-unltd
    michael-unltd 2020/07/10
    SQL実行
  • 第2章 PostgreSQLの内部構造―プロセスやメモリの流れ、特徴的な機能のしくみ | gihyo.jp

    図1 主なプロセスの流れ PostgreSQLは、ライタがデータファイルやインデックスファイルをディスクに更新しています。ただし、その更新は、コミットに合わせてリアルタイムで行われているわけではありません。性能向上のため、チェックポイントと呼ばれる更新タイミングが発生するまでは、更新があっても共有バッファにデータを貯めておきます。この貯められたデータをダーティページと呼びます。そしてチェックポイントのタイミングで、チェックポインタがダーティページをディスクに書き込みます。 そのため、共有バッファに更新情報を貯めている間に障害が起きると、ダーティーページを失う可能性があります。それを防ぐために、共有バッファ中のデータに対してどのような更新を行ったかの情報を保存しているのがWALです。WALはコミットのタイミングでWALライタが記録しています。クラッシュリカバリが必要になったときは、WALの中

    第2章 PostgreSQLの内部構造―プロセスやメモリの流れ、特徴的な機能のしくみ | gihyo.jp
    michael-unltd
    michael-unltd 2020/06/04
    “図2 メモリの利用からデータファイルの更新までの流れ”