Estoy intentando crear una base de datos desde la línea de comandos. Mi sistema operativo es centos y la versión de postgres es 10.9.
sudo -u postgres psql createdb test
Password for user test:
¿Por qué preguntarme por usuario?
fuente
Estoy intentando crear una base de datos desde la línea de comandos. Mi sistema operativo es centos y la versión de postgres es 10.9.
sudo -u postgres psql createdb test
Password for user test:
¿Por qué preguntarme por usuario?
Cambie el usuario a postgres:
su - postgres
Crear usuario para Postgres
$ createuser testuser
Crear base de datos
$ createdb testdb
Accede al Shell de postgres
psql ( enter the password for postgressql)
Proporcionar los privilegios al usuario de postgres
$ alter user testuser with encrypted password 'qwerty';
$ grant all privileges on database testdb to testuser;
create user testuser; create database testdb;
Tratar:
sudo -u postgres psql -c 'create database test;'
sudo -u postgres psql -c 'grant all privileges on database test to username;'
createdb
es una utilidad de línea de comandos que puede ejecutar desde bash y no desde psql. Para crear una base de datos desde psql, use la declaración de creación de base de datos así:
create database [databasename];
Nota: asegúrese de terminar siempre sus declaraciones SQL con ;
;
CREATE DATABASE FOO
crearía una base de datos llamada foo
. Me tomó como 5 minutos averiguar por qué "la base de datos no existe". ver: stackoverflow.com/questions/43111996/…
Como señalan algunas de las respuestas, createdb
es una utilidad de línea de comandos que podría usarse para crear una base de datos.
Suponiendo que tiene un usuario con nombre dbuser
, el siguiente comando podría usarse para crear una base de datos y proporcionar acceso a dbuser
:
createdb -h localhost -p 5432 -U dbuser testdb
Reemplácelo localhost
con su nombre de host de base de datos correcto, 5432
con el puerto de testdb
base de datos correcto y con el nombre de base de datos que desea crear.
Ahora psql
podría usarse para conectarse a esta base de datos recién creada:
psql -h localhost -p 5432 -U dbuser -d testdb
Probado con versiones createdb
y .psql
9.4.15
Como configuración predeterminada de Postgres, se crea un usuario llamado postgres y el usuario postgres tiene acceso completo de superadministrador a toda la instancia de PostgreSQL que se ejecuta en su sistema operativo.
sudo -u postgres psql
El comando anterior le proporciona la interfaz de línea de comandos psql en modo de administrador.
Creando usuario
sudo -u postgres createuser <username>
Creando base de datos
sudo -u postgres createdb <dbname>
NOTA: <> no se deben usar mientras se escribe el comando, se usan solo para indicar las variables
PGPORT=5432
PGHOST="my.database.domain.com"
PGUSER="postgres"
PGDB="mydb"
createdb -h $PGHOST -p $PGPORT -U $PGUSER $PGDB