PostgreSQL で postgres ユーザ(root ユーザ)のパスワードがわからなくなった時

postgres ユーザ(ロール)

PostgreSQL では postgres というユーザ(ロール)がいわゆる root ユーザになりますが、こいつのパスワードを忘れたときの対処法です。

結論

1. pg_hba.conf を編集して認証をスキップさせる

Ubuntu 16.04 LTS ならば /etc/postgresql/10/main にある pg_hba.conf というファイルを編集して、認証をスキップさせます。現在有効になっている行をすべてコメントアウトして以下の行を付け加えればいいでしょう*1。許可するアドレスのところ*2は適宜変更してください。

host all all 127.0.0.0/24 trust

*1:あくまで一時的な設定であること前提です

*2:127.0.0.0/24

続きを読む

Ubuntu 16.04 LTS で PostgreSQL の設定ファイルがある場所

結論

/etc/postgresql 配下。

さらに具体的には、上記ディレクトリのさらに下にある /etc/postgresql/10/main などの配下。10 のところにはバージョン番号が入ります。

設定ファイルたち

いくつか設定ファイルがありますが、

  • postgresql.conf が総合的な設定ファイル
  • pg_hba.conf が認証の設定ファイル

ということを押さえておけばよいと思います。設定項目などの詳しいことは上記のファイル中に書かれています。

Twitter の REST API で得られる ツイートID や ユーザID を RDB に収めるときは bigint を使う

理由

ORDER BY で期待どおりの動作をしてくれないから*1*2

Rails(Active Record)で bigint を使う

Rails で予め用意している型に bigint はありません*3。したがって integer で定義した上で limit オプションを付与して明示的に bigint であることを指定する必要があります。

この limit オプションについての補足は以下の記事が詳しいです。

*1:当たり前ではあります

*2:その結果として max_id や since_id を指定したツイートの取得が正しく行えなくなる

*3:現時点では

Powered by はてなブログ