PostgreSQL DB oluşturmak için kullanıcı izinleri


24

Ubuntu üzerinde çalışıyorum. Aşağıdaki komutlarımdan biri.

$ psql -U kuser -d postgres

Sonra bu veritabanına bağlanır. Ama denediğimde postgres terminalinden

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

Benzer bir komutu Ubuntu'da denediğimde, aşağıdakileri veriyor

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

Bu DB'yi nasıl oluşturabilirim? Suç haklarım var ve kuser ben değilim.

Yanıtlar:


44

Adında bir veritabanı kullanıcınız var gibi görünüyor kuser, ancak bu ada sahip bir sistem kullanıcısı yok. Bu nedenle postgres istemini alabilirsiniz, ancak sudo başarısız olur.

Hesabın createdbiznine sahip olmadığından bu kullanıcı bir veritabanı oluşturamadı .

Bu izni postgreshesabı kullanarak kullanıcıya (Ubuntu'daki varsayılan yönetim hesabı) verebilirsiniz :

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

Veya veritabanını oluşturmak ve kuserhesaba ait olduğunu belirtmek için yalnızca bu yönetim hesabını kullanın :

sudo -u postgres createdb -O kuser kdb

Bu kullanıcı başka veritabanları oluşturmayacaksa, ikinci seçeneği kullanmanızı tavsiye ederim, hesaba verilen ayrıcalıkları sınırlamak daha iyi.


sudo -u postgres psql -c 'alter user USER_NAME with createdb' postgresgünümü kurtardım :)
AbdulMomen عبدالمؤمن
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.