PostgreSQL で COPY が使えない時

COPY 文をつかうには “must be superuser” らしい(スーパーユーザでなければならない)。
ということで、”¥du” でエラーがでて実行できなかったユーザの権限をみたら
Superuser が抜けていた

stage=# \du
                             List of roles
 Role name |                   Attributes                   | Member of 
-----------+------------------------------------------------+-----------
 admin     | Superuser, Create role, Create DB, Replication | {}
 db_user   | Create role, Create DB                        | {}
 postgres  | Superuser, Create role, Create DB, Replication | {}

ということで、db_user に Superuser の権限を付与したい。postgres ユーザになって(PostgreSQL の管理者権限があるユーザならよい?)

template1=# alter role db_user SUPERUSER;

こんな感じで OK でした。

【追記】
エラーメッセージの全文

SQLSTATE[42501]: Insufficient privilege: 7 ERROR: must be superuser to COPY to or from a file HINT: Anyone can COPY to stdout or from stdin. psql’s \copy command also works for anyone.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です