郵便番号データを、自動的にダウンロードしてテーブルに反映することができないかと考えこんなシェルを 作ってみました。
まず、sqlファイル
post_data_import.sql
truncate table common.postal; SET client_encoding TO 'SJIS'; COPY COMMON.POSTAL FROM '/var/lib/pgsql/app/shell/ken_all.csv' WITH CSV;
postaldata_import.sh
#!/bin/csh ################################################## # postal data import shell ################################################## set WKDIR=/var/lib/pgsql/app/shell set SQLDIR=/var/lib/pgsql/app/sql # download postal data rm -f ${WKDIR}/ken_all.csv rm -f ${WKDIR}/ken_all.lzh wget http://www.post.japanpost.jp/zipcode/dl/oogaki/lzh/ken_all.lzh lha -x ${WKDIR}/ken_all.lzh # import postal data psql -d no1 -U postgres -f ${SQLDIR}/post_data_import.sql
・郵便番号データは、lzh圧縮なので、linuxで行う場合は、lhaが必要です。 ・郵便番号テーブルの定義は、以下のものを利用しました。 http://nakayama.ddo.jp/wordpress/?p=200