[pgsql-jp: 40620] ユーザによってpermission denied for language c が出る(PostGIS)

NASUNO Isao isao.nasuno @ ctc-g.co.jp
2010年 12月 14日 (火) 23:16:18 JST


皆様

那須野と申します。

PostgreSQL + PostGIS でデータベース構築しようとしています。
これまで何度も同じ経験をしているのですが、
OS上には無くPostgreSQL上にしかないユーザ(これが初めて)で、
postgis.sql を流し込もうとすると

permission denied for language c

のエラーが出てしまいます。

手順はこんな感じです。

----------------------
export PGUSER=the_user
createdb -O the_user -E UTF8 the_db
createlang plpgsql the_db
psql -f /usr/local/pgsql/share/contrib/postgis.sql the_db  <- ここでエラー
----------------------

 Role name | Superuser | Create role | Create DB | Connections | Member of
-----------+-----------+-------------+-----------+-------------+-----------
 the_user  | no        | no          | yes       | no limit    | {}

the_user というアカウントは、OSにはありません。
OSにあるアカウントと同名のPostgreSQLユーザでこの作業を行うと、
つまり -U オプションもPGUSER変数もなしで行うと、問題なく流し込めます。

PostgreSQLユーザに何かしら設定が必要なのでしょうか。

なお、環境は下記のとおりです。

PostgreSQL : 8.3.11
PostGIS : 1.4.2
CentOS 5.4

どなたか、ご助言をよろしくお願いいたします。


pgsql-jp メーリングリストの案内