Próbuję utworzyć bazę danych z wiersza poleceń. Mój system operacyjny to centos, a wersja postgres to 10.9.
sudo -u postgres psql createdb test
Password for user test:
Dlaczego pytasz mnie przez użytkownika?
postgresql
Juan Reina Pascual
źródło
źródło
Odpowiedzi:
Zmień użytkownika na postgres:
Utwórz użytkownika dla Postgres
Utwórz bazę danych
Dostęp do postgres Shell
Nadaj uprawnienia użytkownikowi postgres
$ alter user testuser with encrypted password 'qwerty'; $ grant all privileges on database testdb to testuser;
źródło
create user testuser; create database testdb;
Próbować:
sudo -u postgres psql -c 'create database test;'
źródło
sudo -u postgres psql -c 'grant all privileges on database test to username;'
createdb
to narzędzie wiersza poleceń, które można uruchomić z basha, a nie z psql. Aby utworzyć bazę danych z psql, użyj instrukcji create database w następujący sposób:create database [databasename];
Uwaga: pamiętaj, aby zawsze kończyć instrukcje SQL znakiem
;
źródło
;
CREATE DATABASE FOO
faktycznie utworzyłbym bazę danych o nazwiefoo
. Zajęło mi około 5 minut, aby dowiedzieć się, dlaczego „baza danych nie istnieje”. patrz: stackoverflow.com/questions/43111996/ ...Jak wskazują niektóre odpowiedzi,
createdb
jest to narzędzie wiersza poleceń, które można wykorzystać do utworzenia bazy danych.Zakładając, że masz nazwanego użytkownika
dbuser
, możesz użyć następującego polecenia do utworzenia bazy danych i zapewnienia dostępu dodbuser
:Zastąp
localhost
poprawną nazwą hosta DB,5432
poprawnym portem DB itestdb
nazwą bazy danych, którą chcesz utworzyć.Teraz
psql
może zostać użyty do połączenia się z tą nowo utworzoną bazą danych:Testowane z wersjami
createdb
i .psql
9.4.15
źródło
Jako domyślna konfiguracja Postgres, tworzony jest użytkownik o nazwie postgres, a użytkownik postgres ma pełny dostęp superadministratora do całej instancji PostgreSQL działającej w twoim systemie operacyjnym.
Powyższe polecenie powoduje wyświetlenie interfejsu wiersza poleceń psql w trybie administratora.
Tworzenie użytkownika
Tworzenie bazy danych
UWAGA: <> nie mogą być używane podczas pisania komend, służą jedynie do oznaczenia zmiennych
źródło
źródło