【SQL】postgreSQL関連

半日ハマった…

いつもと違うサーバにデータベースを作成しようと
pgadminからsshでトンネルしてつなごうとしたら繋がらない…

繋がらなかった理由は
いつも使ってるサーバのpostgresは8で
今回、データベースを作ろうと思ったサーバは7だった
バージョンは↓で調べられる
psql --version
で、トンネルする際何が違うかというと
DBメンテナンスが
8系ならpostgres、7系ならtemplates1

7用に設定し、やれやれと思ったら次はsqlファイルに問題が…
8系に合わせてsqlファイルを作成していたので
7では使えない記法がありバンバンエラーを吐いた><
[$_$]とか[$$]は7では使えないらしい

やっと修正が終わったとおもった最後にまたエラー

ERROR: language "plpgsql" does not exist
HINT: You need to use "createlang" to load the language into the database.

plpgsqlが登録してないと怒られた
これもいつものサーバは標準で登録してあるのに
今回のサーバはデータベース作成のたびに登録しないといけないらしい

createlang -d mono -U postgres plpgsql

で登録して解決

疲れた