varcharなどのカラムの内容がnullなのか空なのかわかりやすくする方法を以下に記します。
nullと空(empty)を確認するために、以下のテーブルを作成しました。
sakuradb=> create table t1 (v varchar(10)); CREATE TABLE sakuradb=> \d t1 Table "public.t1" Column | Type | Modifiers --------+-----------------------+----------- v | character varying(10) |
nullと空(empty)をinsertします。
sakuradb=> insert into t1 values (null),(''); INSERT 0 2 sakuradb=> select * from t1; v --- (2 rows) sakuradb=>
insert後にselectをしましたが、nullなのかemptyなのかがpsqlの出力ではわからないのが確認できます。
以下のコマンドで、nullの場合(null)と出力されるようになります。
\pset null '(null)'
以下、実行例です。
sakuradb=> \pset null '(null)' Null display is "(null)". sakuradb=> select * from t1; v -------- (null) (2 rows)
上記では、'(null)'としましたが、任意の文字列にすることができます。
例えば、以下のように(ヌルだよ)を指定します。
sakuradb=> \pset null '(ヌルだよ)' Null display is "(ヌルだよ)". sakuradb=> select * from t1; v ------------ (ヌルだよ) (2 rows)
psqlの設定は、.psqlrcに記述すれば良いです。
上記の構文を $HOME/.psqlrc に追記してください。
以下のコマンドをご活用ください。
echo \\pset null \'\(null\)\' >> ~/.psqlrc
この設定により、(null)と表示されるようになります。
以上、nullと空(empty)をわかるように出力する方法でした。