タグ

postgresqlに関するsh2のブックマーク (81)

  • pgvectorを使ってPostgreSQLをベクトルデータベースとして使ってみる - Qiita

    はじめに この記事はNTTテクノクロス Advent Calendar 2023 シリーズ1の25日目(最終日)です。 NTTテクノクロスの金澤です。 普段はPostgreSQL関連の開発や検証業務に携わっています。 今回はPostgreSQL拡張機能pgvectorとOpen AIAPIを利用してベクトルデータを扱うデモ環境を作成して動かしてみたいと思います。 pgvectorとは何か pgvectorとは、PostgreSQL上でベクトルデータ型(vector)を保存し、検索する機能を追加する拡張機能になります。 この拡張機能を使用することで、RDBMSであるPostgreSQLにベクトルデータベースの機能を追加することができます。 先日行われたPostgreSQL Conference Japan 2023ではpgvectorの講演が行われていたり、AWS/Azure/GCPなど

    pgvectorを使ってPostgreSQLをベクトルデータベースとして使ってみる - Qiita
    sh2
    sh2 2023/12/25
    pgvectorの使い方
  • おもに小麦粉からなる生地にあんこをいれて金属製焼き型で焼成した和菓子の名前をPostgreSQLで扱えるようにする拡張機能pg_mochochoをつくってみた - Qiita

    おもに小麦粉からなる生地にあんこをいれて金属製焼き型で焼成した和菓子の名前をPostgreSQLで扱えるようにする拡張機能pg_mochochoをつくってみたPostgreSQL この記事は NTTコムウェア Advent Calendar 2023 9日目の記事です。 はじめに NTTコムウェアの黒田といいます、よろしくお願いします。 ふだんはデータベースエンジニアとして、おもにオープンソースのデータベースである PostgreSQL に関する技術調査・技術サポートに取り組んでおり、コミュニティ活動にも参加しています。 PostgreSQL拡張機能をつくってみたい PostgreSQLは、だれでも自由に拡張機能を作成して組み込むことができるようつくられており、多くのシステムで拡張機能が作成・利用されています。せっかくなので私もつくってみたいなということでひとつ考えてきました。 拡張機能

    おもに小麦粉からなる生地にあんこをいれて金属製焼き型で焼成した和菓子の名前をPostgreSQLで扱えるようにする拡張機能pg_mochochoをつくってみた - Qiita
    sh2
    sh2 2023/12/09
    大判焼き派
  • RAG(Retrieval Augmented Generation)を用いたPostgreSQLアシスタントAIの試作 - Qiita

    この記事はNTTコムウェア Advent Calendar 2023の4日目の記事です。 こんにちは、NTTコムウェアの平塚です。今月は2023冬 Chill Seasonで手に馴染むブキを探しているところです。 大規模言語モデルが持っていない最新情報や企業内情報を補うためのRAG(Retrieval Augmented Generation、検索拡張生成)というアーキテクチャーがあります。ごく簡単に説明すると、外部データベースを用意してそこで検索した結果を大規模言語モデルに説明させるというものです。以下はRAGのイメージ図です。 現在多くの企業さまがRAGの検証に取り組んでいるところかと思います。今回RAGを用いてPostgreSQLに詳しいアシスタントAIを試作したので、気づいたところをいくつ か共有いたします。 まとめ PostgreSQLアシスタントAIはある程度使えるものになりそ

    RAG(Retrieval Augmented Generation)を用いたPostgreSQLアシスタントAIの試作 - Qiita
    sh2
    sh2 2023/12/04
    MySQLリファレンスマニュアルは私の技術力では前処理できませんでしたm(_ _)m
  • PostgreSQLの色んなINSERTの仕方

    Datum insert_executor(PG_FUNCTION_ARGS) { Relation rel; Oid nspid, relid; EState *estate; ResultRelInfo *relinfo; RangeTblEntry *rte; TupleTableSlot *slot; /* Open table "test" */ nspid = get_namespace_oid("public", false); relid = get_relname_relid("test", nspid); if (!OidIsValid(relid)) elog(ERROR, "table \"%s\" does not exist", "test"); rel = table_open(relid, RowExclusiveLock); /* Set up execu

    sh2
    sh2 2023/01/31
    低レイヤーの話
  • PostgreSQLをWebブラウザ上で動かす「Postgres-WASM」、オープンソースで公開。Webブラウザ上のx86仮想マシンで実行、レプリケーションも可能

    PostgreSQLをWebブラウザ上で動かす「Postgres-WASM」、オープンソースで公開。Webブラウザ上のx86仮想マシンで実行、レプリケーションも可能 WebAssemblyを用いてWebブラウザにx86の仮想マシンを構成することで、PostgreSQLをWebブラウザ上で実行可能にした「Postgres-WASM」がオープンソースで公開されました。 Today we're open sourcing postgres-wasm with our friends at @_snaplet Discover how we built it, and the extra features we've added: https://t.co/6kmfXBBhCS#postgres #wasm #opensource — Supabase (@supabase) October 3,

    PostgreSQLをWebブラウザ上で動かす「Postgres-WASM」、オープンソースで公開。Webブラウザ上のx86仮想マシンで実行、レプリケーションも可能
    sh2
    sh2 2022/10/05
    PostgreSQLはマルチプロセスアーキテクチャだから、そのままWASMに載せるのは難しかったのかなあと予想
  • PostgreSQLは20年間どのようにfsyncを間違って使っていたか - 聴講メモ -

    TL;DR 聴講メモ Intro into durability PostgreSQLのCHECKPIONT CHECKPOINT中にエラーが発生したら? fsyncへの2つの間違った期待 なぜ今になって問題が明らかになってきた? そもそもなぜBufferd I/Oなのか? どうやって直すかか 参考リンク 質疑 最後に 先日PostgreSQLの新しいマイナーバージョンがリリースされました。このマイナーリリースでメインとなる修正は「fsync周りのバグ修正」で、このバグは間違ったfsyncに対する間違った認識から約20年間存在してたバグということで注目されていました。 このバグについてPostgreSQLのコミッタ(Tomas Vondra氏)が解説しているセッションが、先々週開催されたFOSDEM 2019でありました。私もFOSDEM 2019に参加していたのですがその際は裏セッション

    sh2
    sh2 2019/02/18
    fsyncが失敗することも想定してミドルウェア作るのすごく大変そう
  • PostgreSQLで各DBが使用している容量を確認 - Qiita

    PostgreSQLで各DBが使用しているディスク容量を調べる方法のメモ。 SQLで確認する方法 DBにログインして以下のSQLを実行すると、DB一覧と使用容量が確認できる。 SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database; 結果: 実データで確認する方法 DBサーバの実データからも確認ができる。 まず、PostgreSQLでは各DBに「oid」という識別子がある。 実データのディレクトリ名称はoidのため、先にどのDBがどのoidかを調べる必要がある。 DBにログインして以下のSQLを実行すると、DB一覧とoidが確認できる。

    PostgreSQLで各DBが使用している容量を確認 - Qiita
    sh2
    sh2 2019/02/16
    SELECT datname, pg_size_pretty(pg_database_size(datname)) FROM pg_database;
  • JdbcRunner 1.3リリース(データベース負荷テストツール) - SH2の日記

    かなり昔に紹介したJdbcRunnerを、7年ぶりに更新しました。JdbcRunnerは各種データベースを対象とした負荷テストツールで、スクリプトでトランザクションを定義して多重実行し、スループットとレスポンスタイムを測定することができます。レスポンスタイムはきれいにグラフ化もできます。 JdbcRunner - 汎用データベース負荷テストツール - dbstudy.info sh2/jdbcrunner - GitHub Oracle Database 18c、MySQL 8.0、PostgreSQL 10といった現行バージョンへの追従がメインです。Oracle Database 18cとPostgreSQL 10は昔のままでも動いたのですが、MySQL 8.0に接続するためにConnector/J 8.0が推奨されていて、Connector/J 8.0を動かすためにはJava SE 8

    JdbcRunner 1.3リリース(データベース負荷テストツール) - SH2の日記
    sh2
    sh2 2018/08/22
    4Kのモニタが快適なので作業を始めてしまったくらい4K良いです http://www.benq.co.jp/product/monitor/ew3270u
  • お客様導入事例 - 日本電信電話株式会社 様

    NTT ソフトウェアイノベーションセンタが画期的な検証を実施した。テーマは、次世代のストレージデバイスと目される「不揮発性メモリ(NVDIMM)」と、その能力を引き出すライブラリ「Persistent Memory Development KitPMDK)」を組み合わせたPostgreSQLの高速化である。結果は驚くべきもので、最大でHDDの約170倍、SSDの約40倍を実測した。検証環境に採用されたのは、業界に先駆けて大容量NVDIMM搭載を可能にしたHPE ProLiant DL360サーバーである。 業界 通信 目的 次世代ストレージデバイスと目される不揮発性メモリ(NVDIMM)と、最新のライブラリPersistent Memory Development KitPMDK)の適用によるPostgreSQLのパフォーマンス向上。 アプローチ Postgre SQLのストレージI/

    お客様導入事例 - 日本電信電話株式会社 様
    sh2
    sh2 2018/03/28
    導入事例って言っていいのかは知らないけど、興味深い取り組み
  • NECを退職し、新会社を立ち上げました。 - KaiGaiの俺メモ

    ご報告が遅れましたが、6月30日付で新卒の2003年から14年あまり勤務したNEC退職しました。 また、日、東京法務局品川出張所においてヘテロDB株式会社の登記申請を行い、また、併せて新会社のチーフアーキテクト兼代表取締役社長に就任しました。 今後は、前職では実現できなかった、GPUSSDなどヘテロジニアスな計算機資源を活用する事で、高性能、低価格、使いやすさを両立するデータベース製品の事業化を目指していく事になります。 どうぞよろしくお願いいたします。 web: http://heterodb.com/ 弊社が入居する西大井創業支援センター(品川区) 10年以上も勤務した会社を辞めてスタートアップを立ち上げるというのは、おそらく人生の中でも上位にい込むビッグイベントの一つだと思うので、今の決意や創業に至る一連の流れについて記録を残しておこうと思います。 (書き下してみたら意外と長

    NECを退職し、新会社を立ち上げました。 - KaiGaiの俺メモ
    sh2
    sh2 2017/07/04
    すごい
  • MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO

    こんにちは、みかみです。 今日のクラスメソッドのAWSおみくじ、RDS(t1.micro)でしたー!(昨日は Aurora!@@v はじめに 前職@アプリ開発時、MySQL のクエリチューニングをさせていただく機会がありました。 ユーザー入力のキーワードで全文検索 → 見つかったレコードを返すのですが、所要時間、約3分。。 Apache タイムアウトして画面真っ白。。。(泣きそうでした><。 EXPLAINで実行計画を調べた際に、select_typeにはクエリの種類が表示されるのだが、代表的なサブクエリには次の3つのパターンがある。 SUBQUERY DEPENDENT SUBQUERY DERIVED 結論から言おう。遅いのは2番目、DEPENDENT SUBQUERYである。DEPENDENT SUBQUERYとはいわゆる相関サブクエリに相当するもので、サブクエリにおいて外部クエリの

    MySQL のサブクエリって、ほんとに遅いの? | DevelopersIO
    sh2
    sh2 2017/06/03
    MySQL 5.6とPostgreSQLは最初にpaymentから総額$100以上の顧客ID一覧を取り出してcustomer_2と突合している。MySQL 5.5はそれができなくてcustomer_2から1件取り出すごとに1.6万件のpaymentをスキャンする。これを120万回繰り返すので遅い
  • PostgreSQL 9.6 に関する技術情報

    このページでは PostgreSQL 9.6 (2016年9月29日リリース)に関する技術情報をお届けします。 ドキュメントは PostgreSQL のリリースノートを元に弊社で解説を加えたものです。 バージョン9.6の主な拡張点 バージョン9.6での主な拡張箇所は以下の通りです。 シーケンシャルスキャン、結合、集約のパラレル実行に対応しました。 自動VACUUMは古いデータを繰り返しスキャンしなくなります。 同期レプリケーションで複数スタンバイサーバが可能になりました。 全文検索でフレーズ(隣接した複数語)の検索に対応しました。 postgres_fdw がリモートでの結合、ソート、UPDATE、DELETE に対応しました。 特に複数CPUソケットサーバでのスケーラビリティにおいて性能改善しました。 バージョン9.6への移行/互換性のない変更点 pg_stat_activityビュー

    PostgreSQL 9.6 に関する技術情報
    sh2
    sh2 2017/03/23
    PostgreSQL 9.6のpg_stat_activityを調べていて参照。それ以外の部分もあとで読む
  • AWS Solutions Architect ブログ

    AWS Database Blog】Amazon RDS for PostgreSQL でトランザクションID周回の早期検知のための実装 AWS Database Blog では、 AWS の様々なデータベースサービスや利用時の Tips をご紹介しています。今回は、AWS のデータベースエンジニアであるShawn McCoy が書いた Implement an Early Warning System for Transaction ID Wraparound in Amazon RDS for PostgreSQL を翻訳してご紹介します。 - 江川大地 ------------ PostgreSQL を運用している方は理解している思いますが、重要なメンテナンスが autovacuum プロセスによって行われています。このバックグラウンドプロセスの最も効率的なことはリリースのたびに、

  • PostgreSQLで自動フェイルオーバーする方法 - Qiita

    以前投稿したbgwokerで超簡易クラスタ管理を進化させたpg_keeperについて投稿。 コンセプト このツールのコンセプトは「PostgreSQLの自動フェイルオーバーを簡単に設定する」です。 Pacemaker/corosyncやrepmgrを使えばより細かく、柔軟に設定することが出来ますが、その一方設定が面倒だったり、多くのケースではそこまで柔軟な設定は必要ないと思ったので、「マスタ、スレーブ2台構成でもっと簡単に可用性を向上させたい」と思い作りました。 監視プロセスはPostgreSQLのプロセスの一つとして動作するので、高機能なクラスタリングミドルウェアによくある監視プロセス自体の起動・停止・監視等の作業は発生しません。 ただし、pg_keeperが対応しているのはマスタ1台、スタンバイ1台で同期レプリケーションを使用した場合のみです。 スタンバイを2台以上使用するケースには対

    PostgreSQLで自動フェイルオーバーする方法 - Qiita
    sh2
    sh2 2016/08/22
    レプリケーション不通時にスプリットブレインが起きるように見える。3台で多数決を取るとかできると良いのだけれど
  • TPC-DSから学ぶPostgreSQLの弱点と今後の展望

    PostgreSQL Conference Japan 2015 (2015年11月27日 @品川) でのセッション発表資料。Read less

    TPC-DSから学ぶPostgreSQLの弱点と今後の展望
    sh2
    sh2 2015/11/27
    atode
  • PostgreSQL 9.5 新機能紹介

    Java Küeche 勉強会 「RDB最前線」 in 沖縄 講演資料 『PostgreSQL 9.5 新機能紹介』 NTT DATA 澤田 雅彦 @sawada_masahikoRead less

    PostgreSQL 9.5 新機能紹介
    sh2
    sh2 2015/10/14
    演算子の優先度変えてしまうのアグレッシブだ
  • FAQ - pgpool Wiki

    pgpool-II の SSL 設定はどうすればよいですか? pgpool-II の SSL サポートは 2 つのパートからなっています: 1) クライアントと pgpool-II 間、 2) pgpool-II と PostgreSQL 間です。#1 と #2 は互いに独立しています。たとえば、#1 か #2 のどちらかだけ SSL 接続を有効にできます。あるいは、#1 と #2 のどちらも有効にできます。#1 について説明します(#2 については、PostgreSQL のドキュメントを確認してください)。 pgpool が openssl を有効にした状態でビルドされていることを確認してください。ソースコードからビルドする場合、--with-openssl オプションを使ってください。 はじめにサーバ証明証を作成します。以下のコマンドで、PEM パスフレーズ(pgpool 起動時に要求

    sh2
    sh2 2015/08/17
    Tomcatのタイムアウトをpgpool-IIのタイムアウトより「短く」する
  • BRINBRIN物語 - 日々の記録 別館

    PostgreSQL 9.5-alphaがリリースされて一週間、いろんな人がいろんな機能を試しているかと思いますが、おいらもリリース前にいろいろ試してみようかと。 まず、9.5の目玉機能の一つとも思われるBRINについて試してみましたよと。 BRINってなんぞ? BRINはBlock Range INdexを略したもので、そのまま略すとブロックレンジインデックス・・・ってこれだけじゃ何かやっぱり良く分からんですね。 PostgreSQL9.5alphaのドキュメントを見ると・・・ BRINは、特定の列が表内の物理的な場所といくつかの自然な相関関係を持っている非常に大きなテーブルを処理するために設計されている。 ブロックレンジは、テーブル内の物理的に隣接しているページのグループである。 各ブロックレンジのために、いくつかのサマリー情報がインデックスに保存されている。 うーん、わかったような

    BRINBRIN物語 - 日々の記録 別館
    sh2
    sh2 2015/07/14
    DWH向けだろうか
  • 2014年度PGECons成果報告会参加レポート | Tech-Sketch

    2015年5月14日、品川にてPostgreSQLエンタープライズ・コンソーシアム(略称:PGECons)の2014年度活動成果発表会が開催されました。記事では成果報告会の様子をお伝えするとともに、PGEConsのワーキンググループのメンバーとして一年間活動した感想をお伝えしようと思います。 PostgreSQLエンタープライズ・コンソーシアム(略称:PGECons)とは PGEConsとは、PostgreSQLをエンタープライズの業務システムに適用できるようにするため、PostgreSQL体および各種ツールの情報収集と提供、整備などの活動を通じて、ミッションクリティカル性の高いエンタープライズ領域へのPostgreSQLの普及を推進することを目的として設立された団体です。(HPから引用:https://www.pgecons.org/) PGEConsにはワーキンググループ(WG)が

    2014年度PGECons成果報告会参加レポート | Tech-Sketch
    sh2
    sh2 2015/06/27
    PCI DSS要件をあとで勉強
  • http://kwatch.houkagoteatime.net/blog/2014/12/20/postgresql-features/

    http://kwatch.houkagoteatime.net/blog/2014/12/20/postgresql-features/
    sh2
    sh2 2014/12/21
    非相関サブクエリの説明がすごく分かりやすい