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?
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;
Essayer:
Sudo -u postgres psql -c 'create database test;'
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 ;
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
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
.
PGPORT=5432
PGHOST="my.database.domain.com"
PGUSER="postgres"
PGDB="mydb"
createdb -h $PGHOST -p $PGPORT -U $PGUSER $PGDB