null値があるときのpostgresqlでの集計結果について

sqlを発行して合算値が欲しいとき集計関数「sum()」を使います
ただ、NULL値を活かしたいときにいつも忘れてしまうのでまとめ

<sample1>
nullが含まれる

test table data
[key] [value]
1 10
2 10
3 null

select sum(value), avg(value) from test;
=>
20, 10

<sample2>
全部null

test table
[key] [value]
1 null
2 null
3 null

select sum(value), avg(value) from test;
=>
null, null

<sample3>
sumの結果を足すとき

test table
[key] [value1] [value2]
1 10 null
2 10 null
3 10 null

select sum(value1) + sum(value2) from test;
=>
null

null + 30 = nullとなってしまう

<sample4>
sumの結果を足すとき(null+30=30としたいとき)

test table
[key] [value1] [value2]
1 10 null
2 10 null
3 10 null

select coalesce(sum(value1),0) + coalesce(sum(value2),0) from test;
=>
30

null + null = nullとしたいとき、<sample4>を使うと「0」になってしまう…
SQLいい方法がないか模索中。

gitoliteでgitolite-adminへのpushに失敗する

gitoliteでgit cloneしておいたgitolite-adminリポジトリへ
ユーザーを追加しようとすると

cd path/to/gitolite-admin/keydir/
git add newuserkey
git commit
git push

エラーが発生
Fix for "W Access for Gitolite-admin DENIED to gitoliteuser"

gitoliteサーバーへ入って
gitolite.confを確認すると違うユーザーになってる..
このユーザーはキーの名前と同じようです(詳しくはわからないけど)

repo gitolite-admin
RW+ = (ここにユーザー名の記載)

gitolite.confとgitolite.conf-compiled.pmの間違えてるユーザーを
変更

もとのPCでも
gitolite.confを修正しておく
(しておかないとまたもとに戻る)

git push
でうまくいきました

SSHでの「PTY allocation request failed on channel 0」エラーの解決

sshでサーバーにつなぐときに

PTY allocation request failed on channel 0

のエラー発生

sshのバージョンの違いによるものらしく
ssh -T user@server
としたらいいそうです

ちなみにOpenSSHのバージョンを確認するには
ssh -V

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
というふうに見れます

<参考>
http://stackoverflow.com/questions/10330678/gitolite-pty-allocation-request-failed-on-channel-0