データ加工のまとめを書かれているエントリにからんでみる

id:wata909:20090923#p1 で PostGIS で何かを必死にやられてたご様子(ていうか見てるし)で、まとめ記事を出されてます。本日のエントリでスターを与えてくださっていますが、これについてはさわやかに無視させて下さい。
さて本題。からむよー。

shp2pgsql -s 32654 ...

によって、SRIDがESPG:32654となるジオメトリカラムを持つテーブルを作成しますし、挿入されるジオメトリオブジェクトにもEPSG:32654であるという情報がくっついています。
そして、単純な幾何演算等においては、SRIDは保持されます(吐き出される結果セットにもEPSG:32654であるという情報がくっついてきます)。

INSERT INTO ... SELECT ST_SetSRID(ST_Multi(...),32654) ...

と、SRIDをセットするのは必要ありません。
いやむしろ、危険です。
「SRIDが違う」という理由でINSERTをハねられたら、そこまでの行程を振り返って、おかしいところがなかったかを検討した方がベターです。
…そういう危険なこと吹き込んだのは誰だよ。…ごめんよぉ。
それと、今回の話では余計になりますが、shp2pgsqlで整数を含んでいる場合に"-i"オプションを付けた方が良いかも知れません。"-i"が無いと16ビット整数、あると32ニット整数になります。
私の場合、"-i"オプションを基本的につけてます。データを叩き込んでいて、「値が範囲を超えた」とか言われて、int4のつもりでいたので、それはちょっとおかしいだろ、と悩んだ記憶があります。ただ、エラーが出てないのだったら、それでかまいませんです。
ところで、非マルチなポリゴン用のテーブルを生成する際にSQLを書かずにshp2pgsql -p -S で行うのは、ちょっとメモらせてもらいます:-) そっちの方が楽かも知れない。