ログ日記

作業ログと日記とメモ

PostgreSQL

サーバーで使っている Debian を buster にアップグレードしたログ

ひとまずPHP、PostgreSQL、MySQL、Rails(Redmine)、Apache が入っているstretchのサーバーをアップグレードする。第4章 Debian 9 (stretch) からのアップグレード まずPHP7とPostgreSQLのために使っていたリポジトリをコメントアウト。Dockerも # php7.1 #…

PostgreSQLでビューを使う時の最適化

ちょっと簡単なサンプルが思い付かないけど。 joinが大量にある巨大なビューから少ない件数のデータを取得する場合。ビュー単体でselectしたら全てインデックススキャンになるようにしていて select * from large_large_view where large_large_view.post_id…

トランザクションIDの回収はPostgreSQL 8.1から8.2で変わっていた

なんとなくWikipediaを見ていたら 8.1 contribより提供されていた自動バキューム (autovacuum) 機能が本体に統合された。不要領域の監視が効率化され、コマンドで発行した VACUUM との連携が可能になった。 8.2 トランザクションIDの周回がテーブル単位で管…

トランザクションIDがループ?

データベースが落ちてた。 2009-09-27 06:35:15 JST LOG: transaction ID wrap limit is 2147484146, limited by database "template1" 2009-09-27 06:35:15 JST WARNING: database "template1" must be vacuumed within 536699235 transactions 2009-09-27 …

PostgreSQLで日本語全文検索

Senna+Ludiaは Senna 1.0.1+Ludia 1.0.0 再インストール手順メモ Kawanet Blog II/ウェブリブログ ここの通りにすれば特に詰まるところもなくインストール出来る。 ヘッダファイル apt-get install postgresql-server-dev-8.1 コンパイルさえできれば後は…

PostgreSQLとMySQLの性能比較の記事メモ

メモ。古いけど。 PostgreSQLを使ってると「なんでMySQLじゃないの?」みたいなイメージなので参考に。 「PostgreSQLは遅い」は本当か?:OSSデータベース比較 - CNET Japan http://b.hatena.ne.jp/entry/4447616 記事が書かれたときにはまだ資料が出てなか…

psqlで複数バージョンを使い分ける

Debianで複数バージョンの psql を使い分ける。 サーバとクライアントのバージョンが違うと WARNING: You are connected to a server with major version 7.4, but your psql client is major version 8.1. Some backslash commands, such as \d, might not …

あいまい検索

postgresql-contribのfuzzystrmatchを使う。 pathはDebianの場合。 $ psql dbname # \i /usr/share/postgresql/contrib/fuzzystrmatch.sqlこれで完了。 # select levenshtein('あいうえお', 'あいうえあ'); levenshtein ------------- 1 (1 row) dorothy=# s…

pg_dump -o ではテーブル等のoidがリストアできない

かなりハマってた。 テーブルやインデックスなどのoidは pg_catalog.pg_class にある。 なのでpg_dumpではpgpool用のダンプを取れない。 それでpg_dumpallでやってみたけれどリストア後にやっぱりエラーが出る。 dbmail=> \d dbmail_aliases ERROR: kind mis…