【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
で登録して解決
疲れた