postgresのチートシート
ロングトランザクションの確認
SELECT procpid, waiting, (current_timestamp - xact_start)::interval(3) AS duration, current_query FROM pg_stat_activity WHERE procpid <> pg_backend_pid() AND (current_timestamp - xact_start)::interval(3) >= '3 minutes'::interval;
9.3の場合
SELECT pid, waiting, (current_timestamp - xact_start)::interval(3) AS duration, query FROM pg_stat_activity WHERE pid <> pg_backend_pid() AND (current_timestamp - xact_start)::interval(3) >= '3 minutes'::interval;
interval(小数点以下の桁数)
queryの取り消し
SELECT pg_cancel_backend(プロセスID);
取り消しが効かなかったら
SELECT pg_terminate_backend(プロセスID);
php 5.1から 5.5にバージョンアップではまったこと
yumでphpを5.1から5.5にバージョンアップしたら /etc/php.d/memcache.iniに設定したsession設定が 戻ってしまったので調査しました phpinfoなどで確認すると以下の設定に上書きされました
session.save_handler=files session.save_path="/var/lib/php/5.5/session"
いろいろ調べてみたら、犯人は/etc/httpd/conf.d/php.confでした
# # Apache specific PHP configuration options # those can be override in each configured vhost # php_value session.save_handler "files" php_value session.save_path "/var/lib/php/5.5/session" php_value soap.wsdl_cache_dir "/var/lib/php/5.5/wsdlcache"
各vhostでオーバーライド可能らしい 結局VirtualHostで再設定することで解決
<VirtualHost *:80> php_value session.save_handler "memcache" php_value session.save_path "tcp://memcache1:11211" </VirtualHost>