Ich versuche eine Datenbank über die Kommandozeile zu erstellen. Mein Betriebssystem ist Centos und die Postgres-Version ist 10.9.
sudo -u postgres psql createdb test
Password for user test:
Warum mich nach Benutzer fragen?
Ich versuche eine Datenbank über die Kommandozeile zu erstellen. Mein Betriebssystem ist Centos und die Postgres-Version ist 10.9.
sudo -u postgres psql createdb test
Password for user test:
Warum mich nach Benutzer fragen?
Antworten:
Ändern Sie den Benutzer in postgres:
su - postgres
Benutzer für Postgres erstellen
$ createuser testuser
Datenbank erstellen
$ createdb testdb
Zugriff auf die Postgres Shell
psql ( enter the password for postgressql)
Stellen Sie dem Postgres-Benutzer die Berechtigungen zur Verfügung
$ alter user testuser with encrypted password 'qwerty';
$ grant all privileges on database testdb to testuser;
create user testuser; create database testdb;
createdb
ist ein Befehlszeilenprogramm, das Sie von bash und nicht von psql ausführen können. Um eine Datenbank aus psql zu erstellen, verwenden Sie die Anweisung create database wie folgt:
create database [databasename];
Hinweis: Beenden Sie Ihre SQL-Anweisungen immer mit ;
;
CREATE DATABASE FOO
würde eigentlich Datenbank namens erstellt foo
. Ich habe ungefähr 5 Minuten gebraucht, um herauszufinden, warum "Datenbank nicht existiert". siehe: stackoverflow.com/questions/43111996/…
Wie einige der Antworten zeigen, createdb
handelt es sich um ein Befehlszeilenprogramm, mit dem eine Datenbank erstellt werden kann.
Angenommen, Sie haben einen Benutzer namens dbuser
, kann der folgende Befehl verwendet werden, um eine Datenbank zu erstellen und Zugriff auf Folgendes zu gewähren dbuser
:
createdb -h localhost -p 5432 -U dbuser testdb
Ersetzen Sie localhost
durch Ihren korrekten DB-Hostnamen, 5432
durch den richtigen DB-Port und testdb
durch den Datenbanknamen, den Sie erstellen möchten.
Jetzt psql
kann eine Verbindung zu dieser neu erstellten Datenbank hergestellt werden:
psql -h localhost -p 5432 -U dbuser -d testdb
Getestet mit createdb
und psql
Versionen 9.4.15
.
Als Standardkonfiguration von Postgres wird ein Benutzer namens postgres erstellt, und der Benutzer postgres hat vollen Superadministratorzugriff auf die gesamte PostgreSQL-Instanz, die auf Ihrem Betriebssystem ausgeführt wird.
sudo -u postgres psql
Mit dem obigen Befehl erhalten Sie die psql-Befehlszeilenschnittstelle im Admin-Modus.
Benutzer erstellen
sudo -u postgres createuser <username>
Datenbank erstellen
sudo -u postgres createdb <dbname>
HINWEIS: <> dürfen beim Schreiben von Befehlen nicht verwendet werden, sondern nur zur Kennzeichnung der Variablen
PGPORT=5432
PGHOST="my.database.domain.com"
PGUSER="postgres"
PGDB="mydb"
createdb -h $PGHOST -p $PGPORT -U $PGUSER $PGDB