Translations of this Document German Portuguese Spanish Русский עברית Platform-specific questions Windows users should also read the platform FAQ for Windows. There are FAQs for other platforms too. General Questions What is PostgreSQL? How is it pronounced? What is Postgres? PostgreSQL is pronounced Post-Gres-Q-L. (For those curious about how to say "PostgreSQL", an audio file is available.) Post
PostgreSQLでデータベース内の全テーブルのオーナーを一括で変更する方法 IT・コンピュータ・家電等 私自身では全く思いつかなかったが、下記のサイトに良さそうな方法が書かれていた。 Modify OWNER on all tables simultaneously in Postgresql http://stackoverflow.com/questions/1348126/modify-owner-on-all-tables-simultaneously-in-postgresql Since you're changing the owner ship for all tables, you likely want views and sequences too. Here's what I did: Tables: for tbl in `psql -qAt -c "sele
2010年10月29日02:55 カテゴリSQLPostgreSQL PostgreSQLでコマンドタイムアウト 節操無く、ノンセクション備忘録 今日はPostgreSQL(JDBC) JDBCには「setTimeout()」メソッドで指定すれば、SQL実行に時間がかかった際に自動的にタイムアウトしてくれます。 なので、このあたりの設定を忘れずに実施するため、Connectionに薄〜いラッパーを自作してましたが、PostgreSQL(8.4.5、JDBC4)はこのメソッドを実装していない(´;ω;`) とりあえずタイムアウト設定無しで進めようと思っていたけど、少し調べたら http://efreedom.com/Question/1-1175173/JDBC-Postgres-Query-Timeout SET statement_timeout TO 1000; -- for a se
SQL is a language where one task can be solved multiple ways with different efficiency. You can see effective use of PostgreSQL's possibilities on this page. Older tricks Processing PostgreSQL's logs in JSON format with jq Author: Pavel Stěhule The JSON logs are not too readable, but using jq is simple: cat postgresql-Sun.json | jq 'select(.error_severity=="ERROR").message'|sort -n | uniq -c 1 "ca
PostgreSQLチューニングテクニック集 SELECT ... WHERE foo = 100 ORDER BY barをSELECT ... WHERE foo = 100 ORDER BY i, jに書き換える(2004/08/18掲載) SELECT * FROM t1 WHERE i = 100 ORDER BY j; のようなパターンの検索では,iにインデックスを貼ることである程度の高 速化ができますが,その後でソートが発生し,速度低下の要因になります. SELECT * FROM t1 WHERE i = 100 ORDER BY j LIMIT 5; のように,出力結果件数を制限しかつjにインデックスを貼ると,今度はjのイ ンデックスを使うようになります. しかし,よく考えてみると,iで検索し,jでソートするのはiとjのインデック スの両方を使えば一度にできるはずです
EXPLAIN や EXPLAIN ANALYZE の使い方と、それらを利用してスロークエリの実行計画を改善する方法を紹介します。 Explaining Explain ~ PostgreSQLの実行計画を読む ~ (PDF版) OSCON 2005 で講演され、2005年のJPUG夏合宿で分担して翻訳した発表資料です。PostgreSQL 8.3 に対応できるよう内容を更新しています。 Explaining Explain ~ PostgreSQLの実行計画を読む ~ (PPT版) OSCON 2005 で講演され、2005年のJPUG夏合宿で分担して翻訳した発表資料です。PostgreSQL 8.3 に対応できるよう内容を更新しています。
PostgreSQLを遅くしている犯人はどこだ?:Linuxトラブルシューティング探偵団(3)(1/3 ページ) NTTグループの各社で鳴らした俺たちLinuxトラブルシューティング探偵団は、各社で培ったOSS関連技術を手に、NTT OSSセンタに集められた。普段は基本的にNTTグループのみを相手に活動しているが、それだけで終わる俺たちじゃあない。引き続きOSSに関するトラブルの解決過程を@ITで連載していくぜ。 ソースコードさえあればどんなトラブルでも解決する命知らず、不可能を可能にし、多くのバグを粉砕する、俺たちLinuxトラブルシューティング探偵団! 助けを借りたいときは、いつでもいってくれ! OS:高田哲生 俺はリーダー、高田哲生。Linuxの達人。俺のようにソースコードレベルでOSを理解している人間でなければ、百戦錬磨のLinuxトラブルシューティング探偵団のリーダーは務まらん。
各項目がカンマ区切りのテキストで1行を構成します。実際には下記のような内容です。 (注)幅の関係で1行のデータを2行に分けて記述しています。 ee1bdfe5b017f8dcddea61b54aa76536,2010-05-13 00:00:03,1,277,DoSearch,sort 安い順 region ハワイ country ハワイ島 ee1bdfe5b017f8dcddea61b54aa76536,2010-05-13 00:00:04,2,115,ShowList,sort 安い順 region ハワイ country ハワイ島 ee1bdfe5b017f8dcddea61b54aa76536,2010-05-13 00:00:06,3,344,DoSearch,date 20100701 sort 安い順 region ハワイ country ハワイ島 ee1bdfe5b017
SELECT pg_class.relname, pg_size_pretty(pg_class.reltuples::bigint) AS rows_in_bytes, pg_class.reltuples AS num_rows, COUNT(*) AS total_indexes, COUNT(*) FILTER ( WHERE indisunique) AS unique_indexes, COUNT(*) FILTER ( WHERE indnatts = 1 ) AS single_column_indexes, COUNT(*) FILTER ( WHERE indnatts IS DISTINCT FROM 1 ) AS multi_column_indexes FROM pg_namespace LEFT JOIN pg_class ON pg_namespace.oid
いろいろ落書きします。 質問等があればわかる範囲で答えます。技術情報で誤っているものがあればご指摘願います。 twitter で @KAZAMAI_NaruTo 宛につぶやいてください。 さて、dblink での Sanitize。 8/5の日記では prepare を使えばいいと書いたが、 dblink では文字列で渡すわけだから結局問題を解決できない。 そういうわけで、文字列を escape するようにしていく。 postgresql には文字列を escape する関数 quote_literal がある。 これを使えばすぐだろう。 ・・・って考えは甘かった。 dblink では query を文字列で渡す。 SELECT foo(’XXX’,yyy) を dblink に埋め込むと dblink(’SELECT foo(’’XXX’’,yyy)’) って感じになる。ここで、xxx,
[PostgreSQL] PostgreSQLにてデータベースの所有者を変更するにはデータベースtemplate1に接続したのち、データベース所有者のIDを取得してからpg_databaseのdatdbaをupdateします。 所有者のIDを取得 select usesysid from pg_user where usename = 'ユーザ名'; usesysid ---------- 105 (1 row) update pg_database set datdba = 105 where datname = 'データベース名'; [関連記事] テーブルの所有者変更 PostgreSQLの設定 »
今までVARCHARで持っていたデータを、数値しか入れないってことでINTEGER型に変えることになったんだけど、ALTER TABLEがうまくいかなくてプチハマリ。 ALTER TABLE foo ALTER COLUMN bar TYPE INTEGER; 何の考えも無しにやってみたら案の定エラーになった。 そりゃあ文字列が入ってるのに数値型にはできないよなぁ。人間から見れば数字しか入ってないんだけどね。 つーわけで、なんか方法あんだろと思ってマニュアル見たら、USING句というのを使えばいいらしいことがわかった。 これで変換規則を指定してやるらしい。 ただし、PostgreSQLのマニュアルの例はわかりにくい。 http://www.postgresql.jp/document/pg835doc/html/sql-altertable.htmlUSING句を使用して、Unixタイムス
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く