База данных не существует postgresql
Я работаю над подключением БД Postgres к Django. Я создал БД через pgAdmin 4 под пользователем postgres. Я установил переменные окружения следующим образом
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
try:
if sys.argv[1:2] != ['test']:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': env('PGHOST'),
'USER': env('PGUSER'),
'NAME': env('PGDATABASE'),
'PASSWORD': env('PGPASSFILE'),
'PORT': env('PGPORT'),
}
}
except:
pass
с моим файлом .env, содержащим каждую переменную. Когда я пытаюсь перенести его через командную строку ubuntu, я получаю ошибку database <dbname> does not exist
Я установил psycopg2 и pillow и установил local all postgres peer
на local all postgres md5
. Моя операционная система - windows 11, поэтому мне интересно, происходит ли это потому, что мой каталог проекта находится в ~/directory/to/path
, а postgres и pgAdmin установлены в /etc/postgresql/
и /mnt/c/'Program Files'/PostgreSQL
? Должен ли я переместить эти файлы из /
в ~
?
NOTE: Я выполнил psql canvasDB
и получил обратно role "awilbur" does not exist
Если вы устанавливали postgresql через программу установки (что, как я предполагаю, является способом, поскольку вы работаете под Windows), вы могли помнить, что программа установки запрашивала у вас пароль. Если вы помните, попробуйте:
me@My-MacBook-Pro ~ [2]> psql -U postgres
Password for user postgres:
psql (14.2, server 14.1)
Type "help" for help.
postgres=# CREATE DATABASE test;
CREATE DATABASE
Указав -U postgres
, вы войдете в систему под пользователем по умолчанию, чей пароль по умолчанию - это пароль, введенный вами в программе установки.
Если нет, можно попробовать следующее: зайдите в Панель управления -> Административные инструменты -> Управление компьютером. В разделе "Локальные пользователи и группы" вы можете увидеть всех пользователей, созданных для вашей системы. Удалите "postgres" и переустановите PostgreSQL.
После того, как вы закончили, вы можете проверить:
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+-------+-----------------------
postgres | postgres | UTF8 | C | C |
template0 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
test | postgres | UTF8 | C | C |
(5 rows)