Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

PostgreSQLに関するrindenlabのブックマーク (17)

  • 運用中のPostgreSQLのスキーマを無停止で安全に変更する | 株式会社ヌーラボ(Nulab inc.)

    初めに こんにちは。ビジネスチャットサービスTypetalkを開発・運用している吉田です。Typetalkではデータの永続化ストレージとしてPostgreSQLを利用しています。扱うデータ量は多く、チャットというサービスの性質上書込み頻度はとても高いです。PostgreSQLを使い日々開発を進めていると、追加する機能によってはスキーマを変更する必要があります。メンテナンスを計画・告知してサービスを止めてしまえば、時間はかかるかもしれませんがスキーマの変更はそう難しくありません。しかしTypetalkはユーザーが日々の業務を進めるために利用しており、サービスが止まるとコミュニケーションが取れなくなります。業務を円滑に進めるためのビジネスチャットツールですので、極力サービスは止めたくありません(最後の計画メンテナンスは2019年6月30日で1年以上前となっています。)。記事では以下の3つのケ

    運用中のPostgreSQLのスキーマを無停止で安全に変更する | 株式会社ヌーラボ(Nulab inc.)
  • postgresのデータを盗まれた話 - のんびりやの日記

    はじめに さっぶ。どうも、だーやまんです。 この記事は、番環境でやらかしちゃった人 Advent Calendar 2019 - Qiitaの11日目の記事です。 これは、中途半端な知識でサービスを運用していた結果、タイトル通りの大失敗をしてしまったお話です。個人開発での出来事なので、業務で起きたことかと胃薬を握られていた方はご安心ください。 語るのもすごい恥ずかしいレベルですが、戒めのために晒しておきます。 この記事を読んでほしい人 初めてインターネット上にサービスを公開しようとしている人 喋太郎の利用者様(この場をお借りして、改めてお詫び申し上げます。当に申し訳ございませんでした。) 背景とか Discord読み上げBot 「喋太郎」にてやらかしました www.dayaman.work 利用者が約10万人 さくらのVPSにてAppサーバ2台、DBサーバ1台で運用 各サーバの死活監視

    postgresのデータを盗まれた話 - のんびりやの日記
  • 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に参加していたのですがその際は裏セッション

  • はじめに · PostgreSQL Internals

  • PostgreSQLで排他制約がめっちゃ便利!! - そーだいなるらくがき帳

    中国地方DB勉強会っていう控えめに言っても最高の勉強会があるんだけどそこで排他制約について教えてもらいました。 ikkitang1211.hatenablog.jp 排他制約って雑に説明すると重なりを拒否する制約です。 僕は使った事なかったのですが勉強会の中で事例紹介を受けて、めっちゃ便利だったのでここでご紹介します。 どんなときに使うの? 実際にはどんなときに重なりを制御したいかというとよく使うのは次の2つ。 図面の重なり 時間の重なり 1つ目は幾何学的な図面を表現するときです。 実際にPostgreSQLは円や四角をSQLで表現できます。例えば地図上で特定の座標から半径100メートルの円を書き、その中に特定の円(場所)があればErrorにするような制約が書けます。 そもそもSQLで位置計算もめっちゃ便利なので是非使ってみてください。 soudai1025.blogspot.jp そして

    PostgreSQLで排他制約がめっちゃ便利!! - そーだいなるらくがき帳
  • DBスペシャリストを認定する資格 OSS-DB技術者認定試験

    2018.12.11OSS-DB Silver出題範囲「運用管理 - インストール方法(initdbコマンドの使い方)」に関する例題解説を追加しました。 2018.12.10年末年始休業のご案内 Holiday Closing Notice 2018.12.08ビジネスパートナー制度説明会開催のお知らせ(12/11、12/18、1/8、1/15、1/22、1/29、2/5、2/12、2/19、2/26) 2018.12.07アカデミック認定校制度説明会開催のお知らせ(12/13、12/20、1/10、1/17、1/24、1/31、2/7、2/14、2/21、2/28) 2018.12.05『OSS-DB Exam Gold 技術解説無料セミナー』@東京 12/2(日)開催結果のご報告 2018.11.27OSS-DB Silver出題範囲「開発/SQL - SQLコマンド(SELECT文)

    rindenlab
    rindenlab 2014/02/10
    PostgreSQL CE無くなって、こっちに移行してた
  • PostgreSQLに興味がある人向けにまとめてみた。|PostgreSQL|お仕事メモ|Pictnotes

    PostgreSQL9.2がでたのと、一部で?またPostgreSQLを使いたいと思ってる人が多くなったとかあるみたいなので 4〜5年触ってなかったか、全然知らない人向けとおさらいとしてまとめてみた。 ざっくり書いてるので、詳しい人からみるとおかしい点もあるかと思いますが、気になった点はより詳しい記事が あると思うので、調べてみてください。 明らかな間違え等々は、修正加筆したいので、コメントか twitterの @itm_kiyoまで、御願いします。 Q. なんて読むの?書くの? A. PostgreSQL(ぽすとぐれすきゅーえる)、PとSQLは大文字。ちなみにMySQL(y以外は大文字)なんで、小文字と大文字の区別をきちんとするとその界隈の人がよろこびます。 でも、「postgres」 とか 、「Postgres」や「ポスグレ」とか書かれてることも多いです。 Q. どのバージョンを使うの

  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • HerokuがPostgreSQLのDatabase-as-a-Serviceを開始。しかし料金表がおかしいぞ

    HerokuがPostgreSQLDatabase-as-a-Serviceを開始。しかし料金表がおかしいぞ Herokuは2007年にRuby on Railsをクラウドで提供することから始まっており、当初からバックエンドデータベースとしてPostgreSQLの機能を提供してきました。今回のHeroku Postgresは、そのPostgreSQLの機能をHeroku上のアプリケーション以外からも利用可能にするものです。 Herokuによると、Heroku PostgreSQLには以下の特徴があるとのこと。 Continuous Protection write-ahead-logと地理的に分散したデータコピーなどによって、つねにデータベースのデータを保護する技術。 If a meteor were to wipe out the east coast, you won’t lose

    HerokuがPostgreSQLのDatabase-as-a-Serviceを開始。しかし料金表がおかしいぞ
  • SQL の予約語

  • SQLキーワード(予約語)

    お間違いでは? これは大変古いバージョンのマニュアルです。 より新しいバージョンのもの → [7.4マニュアル] [8.0マニュアル] [8.1マニュアル] Appendix B. SQLキーワード(予約語) Table B-1には、標準SQLと PostgreSQL 7.1.3にあるキーワードのすべてのトークンの表があります。 バックグラウンド情報はSection 1.1.1を 参照して下さい。 SQLは予約と非予約 キーワードを区別します。予約語のみが真のキーワードで、識別子として 使用することはできません。非予約語はある特定の環境で特別な意味を 持ち、その他の環境では識別子として使用することができます。 ほとんどの非予約語は、SQLで規定された組み込みのテーブル名と関数名 で、非予約語の質的な存在意義は、ある状況においては前もって 定義された意味があることを宣言することにあります。

  • PostgreSQL 運用メモ - MOYO Laboratory

    ◆ VACUUM の実行 PostgreSQL ドキュメント定常的なデータベース保守作業の俺様要約 PostgreSQL はレコードが更新/削除されても物理削除は行わない これは VACUUM で行うので定期的な実行が必要 更新頻度の高いテーブルほど頻繁に VACUUM のすること 普通の VACUUM と VACUUM FULL の 2 種類がある 普通の VACUUM は使われていない領域に再利用可能なマークを付ける 普通の VACUUM は不要領域がファイルの最後でない限りファイル縮小は行わない 普通の VACUUM は他のトランザクションにほとんど影響しない VACUUM FULL は不要領域の占有領域を削除しファイルを縮小する VACUUM FULL は他のトランザクションに与える影響も甚大 一般的には1日1回普通の VACUUM をしておけばよい 全レコードを削除する場合は T

    PostgreSQL 運用メモ - MOYO Laboratory
  • [PostgreSQLウォッチ]第26回 ボトルネックをビジュアルに分析するログ解析ツールpgFouine

    PostgreSQLでは,postgresql.confを設定することにより,SQL文やその実行時間などの情報をログファイルに記録できる。ここではこのログのことを「SQLログ」と呼ぶことにしよう。単に「ログ」というと,トランザクションログ(WALログ)と混同する恐れがあるからである。 SQLログには以下のような記録が残る。 LOG: statement: INSERT INTO history (tid,bid,aid,delta,mtime) VALUES (4,1,25891,8417,CURRENT_TIMESTAMP); LOG: duration: 72.786 ms

    [PostgreSQLウォッチ]第26回 ボトルネックをビジュアルに分析するログ解析ツールpgFouine
  • PostgreSQLで効率的な負荷分散を実現し、モバゲーやmixiを追撃 ― TechTargetジャパン

    オープンソースのPostgreSQLでシステムを構築 10代、20代を中心に急激な普及を見せる“ケータイSNS”。会員数が865万人に達する「モバゲータウン」や月間118億ページビュー(PV)を誇る「mixi」(約6割がモバイル経由)など、大手SNSサイトが存在感を増している(数値はいずれも2007年12月現在)。そうした中で先行組を激しく追撃しているのが、オープンドアが運営する携帯電話向けのSNSサイト「大集合NEO」だ。 2007年1月にスタートした大集合NEOは、SNSのみならず、アバターゲーム小説、動画、日記、チャットなどのサービスをすべて無料で楽しめるのが特徴だ。アバターやサイト内通貨の使い勝手の良さで先行サイトと差別化を図り、2007年夏に50万人だった会員数が2008年2月時点で2倍の100万人に達している。 その大集合NEOのシステム基盤を担っているのは、MySQLとオ

    PostgreSQLで効率的な負荷分散を実現し、モバゲーやmixiを追撃 ― TechTargetジャパン
  • PostgreSQLのチューニング [データベース] All About

    PostgreSQLのチューニング PostgreSQLは最適なパフォーマンスが出るように自動的に調整されるため、特別なチューニングテクニックは必須ではありませんが、最大限にパフォーマンスを引き出したい場合にはpostgresql.confで指定している値を調整することによりチューニングが可能です。また、PostgreSQLのパフォーマンス向上のためには定期的にVACUUMコマンドを実行することをお奨めします。 ■VACUUMコマンドを実行する VACUUMコマンドはPostgreSQLデータベースの掃除と解析をおこなうコマンドです。 定期的にVACUUMコマンドを実行するとデータベースの問い合わせのパフォーマンスが向上します。 VACUUMコマンドによる処理はテーブルが大きい場合は時間がかかりますので、あまりアクセスのない時間帯におこなうとよいでしょう。 ●VACUUMコマンドの文法 v

    PostgreSQLのチューニング [データベース] All About
  • LinuxでPostgreSQLパフォーマンス向上

    たとえばDebian packageをそのままもってくるとi486用のコードで 実行されることになる。自分の使っているマシン上でコンパイルすると CPU別に最適化してくれるので、数%から10数%程度の高速化が期待 できる。 IDEのハードディスクを接続していてDMAが使えない状態だと極端に遅くなるの は当然である。が、しかし、たまに「LinuxのHDDアクセスは遅い」と騒いでい るのを見かけるので、一応、書いておく。 $ sudo hdparm -mcd /dev/hda /dev/hda: multcount = 16 (on) I/O support = 1 (32-bit) using_dma = 1 (on) using_dmaがonになっていれば良い。なっていなければ $ sudo hdparm -d 1 -c 1 -m 16 /dev/hda /dev/hda: settin

  • 1