タグ

postgresqlに関するmoozのブックマーク (31)

  • Visibility Mapの中身を見る - Qiita

    序章 PostgreSQLのテーブルにはテーブルごとにVisibility Mapが存在していて、VACUUM処理を高速化したり、Index Only Scanの際に用いられます。 Visibility Mapについての詳細は公式マニュアルをご参照ください。 VMの高速化についての詳細は公式マニュアルには書いてないのですが、Visibility Mapを使ってVACUUMをスキップするのは、Visibility Mapのビット列で、1(つまりall-visible)が連続で32個以上続いた時のみになります。これはOSの先読み機能によりVACUUM対象よりの先のページをすでに読み込んでいる為、ゴミのあるページがある程度まとまっている状態でスキップしないと逆に性能が悪くなってしまう為、このような仕様になっています。 テーブルのページ数や、その中でall-visibleであるページの数はpg_c

    Visibility Mapの中身を見る - Qiita
    mooz
    mooz 2018/03/30
    vacuum すべきブロックを判定するメカニズム。ブロック内に vacuum すべき tuple がひとつでも入っていたら 1 が立つ。
  • pev, gocmdpevでPostgreSQLのEXPLAINを見やすくする - もた日記

    pev インストール 使い方 gocmdpev インストール 使い方 EXPLAINのパラメータについて pev github.com Postgres Explain Visualizer (pev)を使うとPostgreSQLのEXPLAINをグラフィカルに表示できるので試してみる。 インストール tatiyants.com/pevにWebアプリがあるので、まずはここで試してみるのがよい。 以下のようにすればローカルでも動かせるらしいがうまく動かなかった…。 $ git clone https://github.com/AlexTatiyants/pev $ cd pev $ npm install $ npm start 下記も必要かも $ npm install tsd -g $ gem install compass 使い方 Webアプリにアクセスして"NEW PLAN"→"CR

    pev, gocmdpevでPostgreSQLのEXPLAINを見やすくする - もた日記
    mooz
    mooz 2017/09/28
    カコイイ
  • コサイン類似度に基づくソート処理の実装方法とその性能比較

    文書の類似度を計算する方法に「コサイン類似度」を用いる方法があります。 これは、出現する単語を出現回数などで数値化して、空間ベクトルに変換した上でベクトル同士の類似度を計算する、という手法です。 コサイン類似度 http://www.cse.kyoto-su.ac.jp/~g0846020/keywords/cosinSimilarity.html 最近、このコサイン類似度を使って、似ているデータを検索するWebアプリを試しに作っていたのですが、ふと、 「このコサイン類似度を使ったソート処理をPostgreSQLでどのように実装するともっとも高速な実装になるのだろうか。また、現実的なパフォーマンスを考えた時にデータ量や次元のサイズはどこまで増やせるのだろうか」 ということが気になりました。 PostgreSQLは、その拡張性の高さがウリの一つですが、そのため「UDFを作る」ということを考え

    コサイン類似度に基づくソート処理の実装方法とその性能比較
    mooz
    mooz 2017/01/24
    MADlib や sklearn で UDF
  • GitHub - lukasmartinelli/pgfutter: Import CSV and JSON into PostgreSQL the easy way

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - lukasmartinelli/pgfutter: Import CSV and JSON into PostgreSQL the easy way
    mooz
    mooz 2017/01/04
    json
  • PostgreSQL JSON の応用メモ - Qiita

    去年 Qiita PostgreSQL 9.4 の JSON サポートについて紹介させてもらったが、まだ書きかけで jsonb の応用例としてや軽い検証記事や SQL イデオムを追記する予定だったが、整理しきれず放置したままになっていた。 そうこうしている内に早くも次期バージョン PostgreSQL 9.5 の情報がちらほらと出始めてきてしまった。 もうまとめるのは諦めることにして、その時のメモや雑多なコードから動くものを稿に残しておく。 興味とヒマのある方は拾い読みしてほしい。 1. 開発言語からみた jsonb プログラマの立場からみて、普段の開発で使うORM/フレームワークと jsonb の相性はどうなのか。 ここでは代表的なプログラミング言語環境でさらっとイメージだけつかんでおきたい。 個人的に Docker がマイブーム(死語)なので、検証環境に Docker を活用したい。

    PostgreSQL JSON の応用メモ - Qiita
    mooz
    mooz 2017/01/04
    JSON
  • PostgreSQL 9.3 の JSON サポートについて(長いよッ) - Qiita

    Postgresql 9.3でJSON関連のサポートが強化されている。 JSON型 (>=9.2) JSON演算子 (読み込み専用アクセッサ) JSONサポート関数 (JSON データ変換) 9.3リリースの目玉機能だが、使ってみた人が少ないのか一向に情報が上がってこない。 ドキュメントを見てもなんだか面倒くさそうで自分から使う気は起きない。 実際の使い勝手はどうなのか、たまたま開発で触る機会があったのでまとめておく。 PostgreSQL自体そんなに詳しいわけではないので、間違いがあったら突っ込んでほしい。 追記: PostgreSQL 9.4 のリリースで jsonb の登場するなど状況がかなり変わっている。 9.4 ついてもフォローしたので参考にしてほしい。 PostgreSQL 9.4 の JSON サポートについて PostgreSQL JSON の応用メモ テーブルデータをJS

    PostgreSQL 9.3 の JSON サポートについて(長いよッ) - Qiita
  • Beyond EXPLAIN: Query Optimization From Theory To Code

    EXPLAIN is too much explained. Let's go "beyond EXPLAIN". This talk will take you to an optimizer backstage tour: from theoretical background of state-of-the-art query optimization to close look at current implementation of PostgreSQL.Read less

    Beyond EXPLAIN: Query Optimization From Theory To Code
    mooz
    mooz 2016/05/30
    ポスグレのコスト見積もり詳解と、発展的なクエリ最適化
  • PostgreSQL 9.5 新機能紹介

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

    PostgreSQL 9.5 新機能紹介
  • PostgreSQLにおけるPAXページレイアウトの実装 - Nao's blog

    この記事は PostgreSQL Advent Calendar 2014 の12月24日担当分です。 筑波大学情報科学類の情報特別演習(担当:川島先生、対象は2年生 or 3年生)で「PostgreSQLにPAXを実装」というテーマがありましたのでやってみました。中途半端で拙い内容ですが、そのご報告を致します。コメントやアドバイスを頂けたら嬉しいです。 ページレイアウト RDBMSのデータはテーブルとしてモデル化されています。テーブルには縦と横があるので二次元とみなすことができます。一方、ストレージ中のアドレス空間は一次元です。そのため、ストレージにデータを格納するには、テーブルを縦に切るか、あるいは横に切るかする必要があります。横に切るページレイアウトはNSM (N-ary Storage Model)と呼ばれ、縦に切るページレイアウトはDSM(Decomposition Storag

    PostgreSQLにおけるPAXページレイアウトの実装 - Nao's blog
  • (JP) GPGPUがPostgreSQLを加速する

    http://www.insight-tec.com/dbts-tokyo-2014.html -------- CPU/GPUという特性の異なるプロセッサの得意分野を組み合わせて費用・電力対性能の向上を狙うヘテロジニアス計算技術は、近年の半導体技術のトレンドの一つです。 セッションでは、SQLワークロードのうちCPU負荷の高いロジックをGPUにオフロードする事で安価に検索処理の高速化を実現するPostgreSQL用の拡張モジュール PG-Strom と、GPGPUをはじめとする周辺技術についてご紹介します。

    (JP) GPGPUがPostgreSQLを加速する
    mooz
    mooz 2014/11/14
    PG-Storm 列指向やめてたのか。あと Custom Plan APIs 興味深い。
  • Materialized Views in PostgreSQL

    Copyright © 2004 Jonathan Gardner (jgardner@jonathangardner.net). All rights reserved. Contact me if you'd like to copy or distribute this document. Introduction Materialized views are certainly possible in PostgreSQL. Because of PostgreSQL's powerful PL/pgSQL language, and the functional trigger system, materialized views are somewhat easy to implement. I will examine several methods of implement

    mooz
    mooz 2014/05/22
    Materialized view maintenance in PostgreSQL
  • psql

    Description psql is a terminal-based front-end to PostgreSQL. It enables you to type in queries interactively, issue them to PostgreSQL, and see the query results. Alternatively, input can be from a file or from command line arguments. In addition, psql provides a number of meta-commands and various shell-like features to facilitate writing scripts and automating a wide variety of tasks. -a --echo

    psql
    mooz
    mooz 2014/05/14
    PostgreSQL の出力結果をコマンドラインで整形しやすいように出力
  • 36.12. User-Defined Aggregates

    mooz
    mooz 2013/08/22
    User-Defined Aggregates (UDA).
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    mooz
    mooz 2013/03/01
    skew hash-join.
  • PostgreSQLのメモリ管理 | Everyday Deadlock

    この記事は PostgreSQL Advent Calendar 2012 の13日目の記事です。 昔からデータベースエンジン関係の研究をしているうちの研究室 では、「PostgreSQLを使う」というとPostgreSQLのコードをいじってTPCベンチマークを走らせることを指すので、未だにSQLとか書けなくて困ることが多いのですが、幸か不幸かPostgreSQLのソースコードはそこそこ読めるようになりました。 そんなわけで、PostgreSQLのソースコードの中でも、今回のAdvent Calendarのネタとしてメモリ管理の部分について紹介します。 これからPostgreSQLのコードを読んでみたいという人にとっては、コードのどの部分を読んでも必要となる知識なので、割と役に立つとおもいます。 【宣伝】大晦日にデータベースの同人誌コミケで売ります 題に入る前にいきなり宣伝で恐縮ですが

  • PL/coffee Trial - Hitoshi Harada's blog

    We are getting to the final stage of the first stable release of PL/v8. This should be a good release with a lot of improvement such like Subtransaction support Better name space of built-in functions OO style cursor, prepared plan find_function Start-up procedure with GUC Separate context in user switch A series of bug fixes. And these days I'm getting increasing number of interests and feedback

    PL/coffee Trial - Hitoshi Harada's blog
    mooz
    mooz 2012/05/11
    PL/v8 に実験的な coffee script サポートが入った。
  • 36.10. C-Language Functions

    User-defined functions can be written in C (or a language that can be made compatible with C, such as C++). Such functions are compiled into dynamically loadable objects (also called shared libraries) and are loaded by the server on demand. The dynamic loading feature is what distinguishes “C language” functions from “internal” functions — the actual coding conventions are essentially the same for

    36.10. C-Language Functions
    mooz
    mooz 2012/03/09
    UDF の書き方
  • PostgreSQL 9.1 の新機能—Let's Postgres

    PostgreSQL 9.1.0 が 2011年9月12日にリリースされました。 最新版のバイナリやソースコードは "ダウンロード用ページ" で配布されています。 9.1 では、9.0 で新規に採用されたレプリケーション機能の使い勝手の強化の他、外部のファイルや DB に直接アクセスできる SQL/MED や、拡張モジュールの管理機能など、さらなる強化が行われています。 互換性に関する注意 最初が注意になってしまいますが、以前のバージョンとの互換性の無い設定がデフォルトに変更されています。比較的多くのアプリケーションで問題になる可能性があるため、あえて強調して注意させてもらいます。 standard_conforming_strings のデフォルトが on に変更 standard_conforming_strings = on がデフォルトになりました。E'...' 形式でない文字列内

    mooz
    mooz 2012/03/09
    拡張モジュール(ユーザ定義型,ユーザ定義関数のパッケージ)
  • ホーム | Let's POSTGRES

    メインコンテンツに移動 お知らせ Let’s Postgres 運営管理についてのお知らせ コンテンツメニュー 導入検討 と 入門 インストール 運用管理 チューニング 新機能: 17 / 16/ 15 / 14 / 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.3 トラブルシュート サポートとFAQ 事例紹介 イベントレポート リンク集 レプリケーション / クラスタ構成 XML / PostGIS / 拡張モジュール パーティショニング / テキスト検索 Window関数 / 再帰SQL / 外部データ連携 文書: 16 / 15 / 14 / 13 / 12 / 11 / 10 / 9.6 Let's PostgreSQL は特定非営利活動法人日PostgreSQLユーザ会が運営しています。 RSS feed

  • pg_strom on multi-GPUs - maropuのメモ墓場

    この前GPUを使ってPostgreSQLの参照性能を向上を図る 外部モジュールpg_stromがkaigai氏からreleaseされた. このモジュールは9.0からPGにmergeされ,9.1でwhere句の push-downにも対応したFDW(Foreign Data Wrapper)という 外部接続用のIFを使って実装されている(詳細は以下参照). blog: http://d.hatena.ne.jp/kaigai/20120106 github: https://github.com/kaigai/pg_strom 最近のDB研究やOSS(PostgreSQLに限らず)界隈では,CPUの コア数増加への対応や,GPU/MICなどのコプロセッサの 活用のための議論が盛んで,pg_stromも同様の位置付けだ. 当人曰く年末年始でコーディングしたらしいが,コード自体は 素晴らしく非常

    pg_strom on multi-GPUs - maropuのメモ墓場
    mooz
    mooz 2012/01/14
    ラウンドロビンで pgstorm をマルチ GPU に対応。考察。