Как создать базу данных и пользователя в Postgresql из скрипта?

Всем привет,

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

Вот собственно часть для установки БД и создания пользователя и базы данных:
sudo apt-get install -y postgresql postgresql-contrib libpq-dev
sed -i "s|^#\(listen_addresses\) = '.*'|\1 = 'localhost'|" /etc/postgresql/9.4/main/postgresql.conf
service postgresql restart

su postgres -c "
psql template1 <<END
CREATE USER django_db_user;
ALTER ROLE django_db_user WITH ENCRYPTED PASSWORD 'Password';
\q
END
createdb -O django_db_user django_db
exit
psql template1 <<END
GRANT ALL PRIVILEGES ON DATABASE django_db TO django_db_user;
\q
END
"


А так я подключаюсь с такими настройками к БД из Джанго:
DATABASES = {
    'default': {
        'ENGINE':       'django.db.backends.postgresql_psycopg2',
        'NAME':         'django_db',
        'USER':         'django_db_user',
        'PASSWORD':     'Password',
        'HOST':         'localhost',
        'PORT':         '',
        'CONN_MAX_AGE': None,
    }
}


Но вот буквально вчера я увидел, что не может быть установлено соединение из Джанго приложения. Говорит, что пароль не верный. Я сравнил конфигурации БД на лайв сервере и локальном, они идентичны. Разве только Убунту версия отличается (15.4 и 15.10).

Как вы конфигурируете Postgresql из скрипта?

Спасибо.

Добавлено 14 Декабря:

Как вы думаете, будет ли безопасно если я сделаю trust подключение для local в продакшине в pg_hba.conf?
local my_database all trust
  • Вопрос задан
  • 2043 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Gytim
Добавьте в pg_hba.conf
строчку для доступа пользователя например для всех и вся
для локального
local all django_db_user md5
или дл публичного
host all django_db_user 0.0.0.0/0 md5

там для справки чуть что есть пример параметров
host DATABASE USER ADDRESS METHOD
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы