PostgreSQL DB 생성을위한 사용자 권한


24

우분투에서 일하고 있습니다. 다음은 내 명령 중 하나입니다.

$ psql -U kuser -d postgres

그런 다음 데이터베이스에 연결됩니다. 하지만 내가 시도 할 때 postgres 터미널에서

postgres=> CREATE DATABASE kdb;
ERROR:  permission denied to create database

우분투에서 비슷한 명령을 시도하면 다음을 제공합니다.

$ sudo -u kuser createdb kdb
sudo: unknown user: kuser
sudo: unable to initialize policy plugin

이 DB를 어떻게 만듭니 까?. 나는 sudo 권리를 가지고 있으며 kuser는 내가 아닙니다.

답변:


44

이름이 데이터베이스 사용자 인 것으로 kuser보이지만 해당 이름을 가진 시스템 사용자가 없습니다. 그렇기 때문에 postgres 프롬프트가 표시되지만 sudo는 실패합니다.

계정에 createdb권한 이 없으므로 해당 사용자는 데이터베이스를 만들 수 없습니다.

postgres계정 (Ubuntu의 기본 관리 계정)을 사용하여 해당 권한을 사용자에게 부여 할 수 있습니다 .

sudo -u postgres psql -c 'alter user kuser with createdb' postgres

또는 해당 관리 계정을 사용하여 데이터베이스를 만들고 계정이 데이터베이스를 소유하도록 지정하십시오 kuser.

sudo -u postgres createdb -O kuser kdb

해당 사용자가 다른 데이터베이스를 작성하지 않을 경우 후자의 옵션을 사용하여 계정에 부여 된 권한을 제한하는 것이 좋습니다.


sudo -u postgres psql -c 'alter user USER_NAME with createdb' postgres내 하루를 구했다 :)
AbdulMomen عبدالمؤمن
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.