@776166

Можно ли реализовать разрешение на создание/удаление БД только с определённым названием только определённому пользователю в Postgres?

Полностью задача выглядит так: в django проекте нужно подключать тестовую базу, которую хотелось бы иметь не дисковой sqlight, а нормальной, но при этом не раздавать слишком много прав и иметь возможность её полностью удалять и пересоздавать. Наверное, можно пользоваться ключом --keepdb при тестах, чтобы он базу не грохал физически, а просто полностью чистил (ведь это так работает, да?), но всё равно интересно про Postgres узнать, можно ли.
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
sim3x
@sim3x
https://docs.djangoproject.com/en/2.1/topics/testi...

ALTER USER <username> CREATEDB;

https://stackoverflow.com/questions/14186055/djang...

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'finance',                      # Or path to database file if using sqlite3.
        'USER': 'django',                      # Not used with sqlite3.
        'PASSWORD': 'mydb123',                  # Not used with sqlite3.
        'HOST': '127.0.0.1',                      # Set to empty string for localhost. Not used with sqlite3.
        'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
        'TEST': {
            'NAME': 'test_finance',
            'USER': 'test_user',
        },
    }
}
Я б советовал завести отдельного юзера для тестов и дать ему права на создание таблиц
Ну так, на всякий случай
Имя БД джанга сама изменит
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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