patorashのブログ

方向性はまだない

PostgreSQL

I18nのデータを基にDBのカラムにコメントを追加する

前回、こういう記事を書いてました。 patorash.hatenablog.com Mackerelにテーブル数、カラム数、コメント数を表示できるようにしたわけですが、カラム数に対してコメント数が0でこれから全部やっていくの辛い〜と思っていたのですが、ふと、I18nから引っ張…

OSS-DB Gold Ver.2.0不合格体験記

OSS-DB Gold Ver.2.0を受けてきたのですが、落ちました完全に準備不足でしたが、まぁまぁ問題集が解けるようになってきていたので、運が良ければ合格するんじゃないかな?と思っていたのですが、蓋を開けてみると56点という超微妙なレベルで(ちなみに合格ラ…

PITRを試してみた

PITRとは、ポイント・イン・タイム・リカバリーと言って、指定した時間まで遡ってリカバリすることができます。pg_dumpだとそのときのスナップショットになるので、実際に稼働しているサービスが突然落ちた時などに、直前まで復旧することができませんが、PI…

pgbenchでチューニング前後でベンチマークを取ってみた

PC Lenovo L380 yoga OS: Windows 10 Pro バージョン: 2004 CPU: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz 1.99GHz (4コア8スレッド) メモリ: 32GB PostgreSQLサーバ Hyper-VでVM上に構築した。 OS: Amazon Linux 2 CPU: 1つ メモリ: 1GB PostgreSQLのバー…

もう一つ仮想環境を作って、そこからpgbenchを実行してみた

Hyper-VでAmazon Linux2を立ち上げていて、前回はそこでpgbenchを実行してみていた。 patorash.hatenablog.com pgbenchでtwitterで検索していたら、pgbenchを実行するホストとPostgreSQLが動いているホストが同じ場合、pgbenchにCPUを使われるのでもっと正確…

pgbenchをとりあえず使ってみた

勉強をしているので、pgbenchを使ってみた。pgbenchはPostgreSQLのベンチマークツール。 lets.postgresql.jp ただし、pgbenchは厳密な意味でのベンチマークツールではありません。TPC(http://www.tpc.org)などで「公式」に認められているような性能測定を行…

Amazon Linux2にPostgreSQL11を入れる

Hyper-V環境のAmazon Linux2にPostgreSQLをインストールしようとしたらちょっとハマったのでメモを残す。 Amazon Linux2でyumでPostgreSQLを入れようとすると、9.2という古いものが出てくる。 新しいものを入れるには、amazon-linux-extrasを使う。listと打…

Macでrails起動時に発生したセグメンテーション違反の原因がわかった

過去に、こんな記事を書いていました。 patorash.hatenablog.com ずっと騙し騙し、gemの再インストールをしながら使っていたのですが、いよいよresqueがまともに動かないときが頻発したので、ちゃんと調査を開始。 ちなみにこの記事を書いている時点での私の…

Mojaveでrailsを起動するとpgでセグメンテーション違反になる場合がある

追記 Macの不具合が原因らしいことを突き止めたので色々やったら直ったぽいのでリンクを貼っておきます。 patorash.hatenablog.com 以下、元々の記事 開発マシンを新しいMBPに変えたと同時にMojaveになっていたのですが、そこで開発していると、時々Railsが…

再帰クエリを書いてみた

まんまなのですが、再帰クエリを書いてみたら一発で処理がキマったのでよかったという話です。 Railsで親子関係を表現するデータで再帰処理をやっていたのですが、当然ですが再帰するたびにクエリが発行されていてなんだか微妙でした。 そうこうするあたりで…

Amazon Linux 1にPostgreSQL 11をインストールする

まず、PostgreSQLのyumリポジトリを追加します。 参照先は以下。 yum.postgresql.org Amazon Linux 1はRedHat Enterprise Linux6互換(?)のため、そのURLをコピーして追加します。そのあと、/etc/yum.repos.d/pgdg-11-redhat.repoに記載されているURLをsedで…

database.ymlのschema_search_pathにpublicを書いたらあかん

PostgreSQL 11にアップデートしようとしていたときに起きました。 docker imageを11に変更して、CircleCIでテストを流そうとしたところ、bin/rake db:structure:loadで失敗しました。 psql:/home/circleci/workspace/db/structure.sql:15: ERROR: schema "pu…

HerokuのpostgresqlのvCPUについて調べた

最近、ようやく[改定新版]内部構造から学ぶPostgreSQLを読み終えた。 [改訂新版]内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)作者: 勝俣智成,佐伯昌樹,原田登志出版社/メーカー: 技術評論社発売日: 2018/09/14メディア: 単行本…

部分インデックスでミスった話

新たにカラムを追加することになり、その条件が Null許可 ユニークであること ただし論理削除を考慮する となったので、アーハイハイ、部分インデックスですねと思って設定していて、テストもしていたのだけれど、考慮漏れがあったので自戒を込めて書いてお…

月毎の累計を行うクエリ

先日、年毎の累計を行うクエリについての記事を書きました。 patorash.hatenablog.com すると、「月毎のデータも欲しいです」と言われたため、そちらもやってみました。 集計関数を使うと月のデータが歯抜けになる問題 前回のクエリを改修すればすぐできるだ…

年毎の累計を行うクエリ

担当しているサービスのマスタデータにて、年毎にどれ位の登録数が増えていっていたかを見たいと言われたのでSQLを組んでみたのだが、なかなか思いつかなかったのでメモを残しときます。 年毎の累計とは 以下のような感じで、年間登録数と、累計登録数を使い…

Herokuのpg:backupsのデータがリストアできない現象が発生した

同僚から、Herokuのpg:backupsの定期バックアップファイルをpg_restoreでリストアしようとしたら、 pg_restore: [archiver] unsupported version (1.13) in file header でコケるという話がチャットワークで流れてきたので調査してみました。 pg_dumpででき…

PostgreSQLのチューニング法がまとまっていてよかった

OSS-DB Silverの試験の勉強のために借りた本ですが、ようやく読み終わった。 内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)作者: 勝俣智成,佐伯昌樹,原田登志出版社/メーカー: 技術評論社発売日: 2014/09/04メディア: 単行本(ソ…

OSS-DB Silverの試験に合格した

育児休業中なので、育児しながら資格の勉強でもしようかと考えていたので、1月から時々PostgreSQLの資格であるOSS-DB Silverの勉強を時々していた。とはいえ、育児と在宅で仕事をやっているとなかなか時間も取れず、結構大変だったのだけれど、妻のご両親か…

育休エンジニアなのでPostgreSQLの勉強をしている その2

内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 Software Design plus作者: 勝俣智成,佐伯昌樹,原田登志出版社/メーカー: 技術評論社発売日: 2014/09/17メディア: Kindle版この商品を含むブログを見る 引き続き、この本を読み進めている。Part2では、設計…

育休エンジニアなのでPostgreSQLの勉強をしている

長年、データベースに関する知識がまだ足りてないなぁと思っていたので、育児しながら空いた時間でPostgreSQLの勉強を始めた。 内部構造から学ぶPostgreSQL 設計・運用計画の鉄則 (Software Design plus)作者: 勝俣智成,佐伯昌樹,原田登志出版社/メーカー: …