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;
createdbist 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 FOOwü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, createdbhandelt 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 localhostdurch Ihren korrekten DB-Hostnamen, 5432durch den richtigen DB-Port und testdbdurch den Datenbanknamen, den Sie erstellen möchten.
Jetzt psqlkann eine Verbindung zu dieser neu erstellten Datenbank hergestellt werden:
psql -h localhost -p 5432 -U dbuser -d testdb
Getestet mit createdbund psqlVersionen 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