Postgres createdb и создание базы данных не работают в Ubuntu 18.04

У меня есть проект Django, который я пытаюсь установить на Ubuntu и создаю новую базу данных в PostgreSQL 14.

Пользователем root по умолчанию, как обычно, является Postgres.

Затем я попробовал создать нового пользователя с моим именем пользователя Linux "abc" со всеми привилегиями: "SUPERUSER", "CREATEDB" и т.д. Все работало нормально, и новый пользователь был создан.

И мне было предложено создать базу данных с таким же именем "abc".

Итак, я сделал CREATE DATABASE abc; в оболочке psql, это не дает ошибки и ничего не дает.

Я попробовал createdb abc или creatdb в терминале bash, но это тоже ничего не дало.

Решение из этого ответа SO link у меня вообще не работает.

Я также пробовал это, что ничего не дало.

В конечном итоге я просто хочу иметь возможность создать базу данных для моего проекта Django, что у меня не получается, и я понятия не имею, что я делаю неправильно.

Вот команда, которую я использую для установки db проекта Django:

# create new user who will be the db owner
# on Ubuntu, root user is postgres
createuser -P <new_user_name> -U <root_user>

# if you're having issues logging in
# see https://stackoverflow.com/a/18664239/3187043

# create new db with the above created user as its owner
createdb -E UTF8 --lc-collate=en_IN.UTF-8 --lc-ctype=en_IN.UTF-8 -T template0 -O <new_user_name> -U <root_user> <new_db_name>
# this doesn't get created

# copy the contents to your new db
psql -U <new_user_name> <new_db_name> < ~/Downloads/backup-ocrdb-2018-09-13_1214.psql
#fails with no output

# Log in to psql console using
psql -U <new_user_name> <new_db_name>
#unable to login because db has not been created

Зайдите в командную строку linux и введите:

$su - postgres

Затем введите имя пользователя для прогресса:

После этого введите пароль:

psql После этого появится командная строка progressql:

postgres = #

Для просмотра всех созданных баз данных используйте эту команду, она покажет все базы данных:

postgres = # \l

Для создания новой базы данных используйте эту команду:

postgres = # CREATE DATABASE databaseName;

Для подключения к конкретной базе данных используйте эту команду:

postgres = # \c databaseName;

Для предоставления прав на эту подключенную базу данных определенному пользователю используйте эту команду:

postgres = # GRANT permissions ON DATABASE dbname TO username;

Вернуться на верх