web-dev-qa-db-fra.com

Créer une base de données à partir de la ligne de commande

J'essaie de créer une base de données en ligne de commande. Mon SO est centos et postgres vaut 9,2

Sudo -u postgres psql createdb test
Password for user test:

Pourquoi me demander par utilisateur?

54

Changer l'utilisateur en postgres:

su - postgres

Créer un utilisateur pour Postgres

$ createuser testuser

Créer une base de données

$ createdb testdb

Accéder au coquillage postgres

psql ( enter the password for postgressql)

Fournir les privilèges à l'utilisateur postgres

$ alter user testuser with encrypted password 'qwerty';
$ grant all privileges on database testdb to testuser;
83
django-renjith

Essayer:

Sudo -u postgres psql -c 'create database test;'
37
tulsluper

createdb est un utilitaire de ligne de commande que vous pouvez exécuter à partir de bash et non de psql. Pour créer une base de données à partir de psql, utilisez l'instruction create database comme suit:

create database [databasename];

Remarque: veillez à toujours terminer vos instructions SQL avec ;

21
Arif Usman

En tant que configuration par défaut de Postgres, un utilisateur appelé postgres est créé et l'utilisateur postgres dispose d'un accès super administrateur complet à l'ensemble de l'instance PostgreSQL s'exécutant sur votre système d'exploitation.

Sudo -u postgres psql

La commande ci-dessus vous permet d'accéder à l'interface de ligne de commande psql en mode administrateur.

Création d'utilisateur

Sudo -u postgres createuser <username>

Création de la base de données

 Sudo -u postgres createdb <dbname>

NOTE: <> ne doivent pas être utilisés lors de l'écriture d'une commande, ils servent uniquement à indiquer les variables

10
Gaurav Sachdeva

Comme certaines des réponses le soulignent, createdb est un utilitaire de ligne de commande pouvant être utilisé pour créer une base de données.

En supposant que vous ayez un utilisateur nommé dbuser, vous pouvez utiliser la commande suivante pour créer une base de données et fournir un accès à dbuser:

createdb -h localhost -p 5432 -U dbuser testdb

Remplacez localhost par votre nom d'hôte DB correct, 5432 par le port de base de données approprié et testdb par le nom de la base de données à créer.

Maintenant, psql peut être utilisé pour se connecter à cette base de données nouvellement créée:

psql -h localhost -p 5432 -U dbuser -d testdb

Testé avec createdb et psql versions 9.4.15.

7
Antony
PGPORT=5432
PGHOST="my.database.domain.com"
PGUSER="postgres"
PGDB="mydb"
createdb -h $PGHOST -p $PGPORT -U $PGUSER $PGDB
0
James Wierzba