タグ

PostgreSQLに関するwith_no_parachuteのブックマーク (10)

  • PostgreSQL の範囲型について - Qiita

    PostgreSQL 9.2 から、組み込みの範囲型が利用できるようになりました。リリースされた直後から結構便利に使っているので、紹介しようと思います。概ねマニュアルに書いてあることの紹介となりますので、正確さを重視する方はマニュアルをご覧になった方が良いかもしれません。 どんなものなのか ざっくり 「1 から 10 まで」とか「2013 年 1 月 1 日から 2013 年 12 月 31 日まで」というようなデータを1つの要素として取り扱えます。 組み込みの型 最初から用意されている型は int4range, int8range, numrange, tsrange, tstzrange, daterange の6つです。この他にもユーザーが新しい範囲型を定義することが出来ます。 リテラル表現 リテラルはありません。コンストラクタ関数を使うか、文字列をキャストする事になります。私はハー

    PostgreSQL の範囲型について - Qiita
  • Trasis Lab » PostgreSQLで現在実行中のSQLの確認と、プロセスのkill

    概要 PostgreSQL上で実行中のSQLを停止する方法について説明する。 Javaサーバ上で時間のかかるSQLを実行してしまい、Javaサーバを停止せずにそのスレッドだけを停止したい場合などにおいて、次の手順で実行された SQL を停止できる。 手順 プロセスID(pid)の確認 まず、問題のSQLが実行されるプロセスのIDを調べる。 コマンドラインなどで、次のSQLを実行。 SELECT procpid, start, now() - start AS lap, current_query FROM (SELECT backendid, pg_stat_get_backend_pid(S.backendid) AS procpid, pg_stat_get_backend_activity_start(S.backendid) AS start, pg_stat_get_backen

  • postgresql パフォーマンスチューニング

    このサイトは、もともと作者の自分用メモとして書き始めたものです。書いてあることが全て正しいとは限りません。他の文献、オフィシャルなサイトも確認して、自己責任にて利用してください。 数十万レコードのデータを持つ大規模なテーブルを扱うようになると、クエリによっては回答が得られるまでに数秒かかるケースも出てくる。これは、より多くのメモリやディスクの使用を PostgreSQL に許すことで改善される可能性が高い。ただし、扱っているデータベースが小さい時には大した効果は望めない。また、そもそもの実装メモリが 256M とか 128M という貧弱な状態では、調整の余地さえなく、単なる悪あがきだ。以下は搭載メモリ 1 ギガを目安に書いている。更に、テーブルの素性とクエリパターンによっては、テーブル自体のクラスタ化が加速を上乗せしてくれるかもしれない -- クラスタリングや適切なインデックスの作成は、メ

  • PostgreSQLを本当に高速化したい人のための10のポイント | 独り言v6

    空気を読まずにPostgreSQLのを高速化する10のポイント - 象と戯れ -空気を読まずにPostgreSQLのを高速化する10のポイント - 象と戯れ - postgresqlグループ.の元エントリを読んで思うところがあったのだが、 PostgreSQLを高速化する16のポイント だからそんなせまっくるしいところでトンチンカンにdisる暇あるんだったら自分のブログでお好みの議論を書くかさもなきゃ/dev/nullにでも吐けとやんわりと言ってるんだよハゲ。 というわけでw。 だよねw。 まあ正直、上記元ネタのほうには色々突っ込みどころ満載なのだが、それは置いておくとしてL.starなりの高速化ポイントを一度書いておかないと、と思ったので記す。ただ、L.starはもうPostgreSQL界隈から離れて久しいので、必ずしも最新の内容を網羅していないことに注意されたし。また、出来るだけPos

  • PostgreSQLパフォーマンスチューニング

    ○PostgreSQLパフォーマンスチューニング [環境] RedhatLinux9 + PostgreSQL7.4.3 + Tomcat 5 2005/12/13現在、PostgreSQLの最新バージョンは8.X。ここでは私が1年ほど前に 携わった開発のメモを記載しているため、バージョンが古くなります。 最新バージョンは触ったことはありませんが、おそらく機能が追加され、パフォーマンスも 良くなっているかと思います。 パフォーマンス目標は、「100万件文字列あいまい検索」というかなり難易度の 高いものでした。しかもハードはごくごく普通のPCサーバ。1CPU、HDDはUATA100、メモリは1GB。 いまどきのウェブ検索システムには貧弱と言わざるを得ないものでした。 この限られた条件下で、素早い検索結果を得るためにはどうすれば良いのでしょうか。 特にウェブシステムの場合、画面の向こうのユーザ

    PostgreSQLパフォーマンスチューニング
  • VACUUM FULLとREINDEXとファイルサイズ — NPO法人 日本PostgreSQLユーザ会

    by 柴田 淳 — posted at 2006-02-22 08:03 last modified 2006-12-04 12:41 「アレどうなったんですか?」といろんな人にツッコミを受け続けて早2ヶ月(くらい?)。帰ってきた「水曜日シリーズ」です。 記念すべき復帰第一弾は「VACUUMとREINDEX」です(第一弾だけで終わりませんように・・・)。 ファイルサイズは、データベースのパフォーマンスに大きな影響を与えます。ファイルのサイズを可能な限り抑えることが、パフォーマンスの向上に役立ちます。そこで今回は、VACUUMとファイルサイズ、そしてREINDEXとの関係を見ていきたいと思います。 まず、pgbenchで最初にデータを作成してみます(いきなりですが)。 % pgbench -i pgbench creating tables... 10000 tuples don

  • PostgreSQLウォッチ---目次:ITpro

    足立区でも住民票を誤発行、富士通Japanのコンビニ交付サービスで「別不具合」発覚 2023.05.01

    PostgreSQLウォッチ---目次:ITpro
  • PostgreSQLでの insert_update or update_insert: プログラムやフォントなど

    INSERT ... ON DUPLICATE KEY UPDATE ... (MySQL 4.1以降) MERGE (Oracle 9i(問題あり)/10g以降) PostgreSQLでは、非挿入時更新がまだないので、同じようにしたい場合は、挿入出来なかったら更新、または、更新出来なかったら挿入をすること。 更新が支配的なら「UPDATE or INSERT」をおすすめ。 BLOBなど、データ量が多ければ「SELECT and (INSERT or UPDATE)」でよいかと。 ■例に使うテーブルCREATE TABLE users ( id INTEGER PRYMARY KEY, name TEXT ) ■PL/pgSQLの場合 INSERT_UPDATEの例 - RDBMS比較 47ページ目 (PDF) UPDATE_INSERTの例 - 例 37-1. UPDATE/INSERT

    PostgreSQLでの insert_update or update_insert: プログラムやフォントなど
  • テーブル一覧、テーブル定義情報取得用SQL Ver.2 - Diary of absj31

    前回記事のSQLではテーブル項目の桁数が取得出来ていなかったのだが、取得方法がどうやらあるようなのでちょっぴり改造。 まず、以下の様なテーブルCREATE文を用意し、テーブルを作成。。 DROP TABLE mst_smpl; CREATE TABLE mst_smpl ( user_id character varying(10) NOT NULL, -- サンプル管理マスタ.ユーザID data_id character varying(5), -- サンプル管理マスタ.データID user_name character varying(50), -- サンプル管理マスタ.ユーザ名 tel_home character(15), -- サンプル管理マスタ.自宅電話番号 points numeric(10), -- サンプル管理マスタ.点数 reg_ymd date, -- サンプル管理

    テーブル一覧、テーブル定義情報取得用SQL Ver.2 - Diary of absj31
  • PostgreSQLでテーブル定義を取得するSQL - ブログリトライ

    商用RDBMSだとこの辺楽チンなんだけど。。。 select attnum as 列番, attname as 列名, case typname when '_bpchar' then 'char' when '_varchar' then 'varchar' when '_date' then 'date' when '_float8' then 'float8' when '_int4' then 'integer' when '_interval' then 'interval' when '_numeric' then 'numeric' when '_float4' then 'float4' when '_int2' then 'smallint' when '_text' then 'text' when '_time' then 'time' when '_timestam

    PostgreSQLでテーブル定義を取得するSQL - ブログリトライ
  • 1