PostgreSQLでAlter Tableを実行した場合、Exclusive Lockがかかり、Selectもできなくなる。
従って運用中のAlterTable,Vacuum Fullには注意が必要であるが、Webで調べたところによると、Alter Tableにかかる時間はdefault属性の有無によって異なるらしい。
ということで、null可でdefaultも無い場合には運用中の実施も問題ないが、default値をつけたい場合にはWebアプリなどのサービスはいったん止めてやった方が無難ということだろう。
以前、6万件近くのテーブルに対してdefault属性のあるAlterTableを実行し、大量のエラーを出したことがあったが、これで納得。