$ psql -d qk -U dbuser -f /home/dbuser/app/sql/common.postal.sql

PRIMARY KEYは、NOT NULLを兼ねる。よって、PRIMARY KEYと記述した列には、NOT NULLを記述してはならない。

次の6つのメソッドの使い方を詳しく解説します。
selectrow_array()
selectrow_arrayref()
selectrow_hashref()
selectall_arrayref()
selectall_hashref()
selectcol_arrayref()

fetch というメソッドもあるが、これは fetchrow_arrayref の別名となっている。
fetch という短くてタイプしやすいメソッド名の権利を獲得したのは
fetchrow_array でもなく、fetchrow_hashref でもなく、fetchrow_arrayref
なのである。
これこそまさに fetchrow_arrayref を使うべし、という DBI 製作者のメッセージ
ではなかろうか (知らんけど)。

DBIの取出し効率はぶっちぎって速い。
bind_columnsを使えばもちろん、arrayrefだけでもPHPやPgを追い抜いてしまう。 といってもarrayrefを使っていればのお話。arrayやhashrefでは ほぼPgとほぼ同じかおいてかれてしまう。まぁ当然といえば当然。
DBIのメソッドで比較すると、やっぱりbind_columns+arrayrefが最速
そんなわけでbind_colmns > arrayref > array > hashref という予想通りというか順当な速度結果。
意外だったのはbind_columnsを使ったときの効率のよさ。arrayrefと比べてもかなり早い。