@776166

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

Полностью задача выглядит так: в django проекте нужно подключать тестовую базу, которую хотелось бы иметь не дисковой sqlight, а нормальной, но при этом не раздавать слишком много прав и иметь возможность её полностью удалять и пересоздавать. Наверное, можно пользоваться ключом --keepdb при тестах, чтобы он базу не грохал физически, а просто полностью чистил (ведь это так работает, да?), но всё равно интересно про Postgres узнать, можно ли.
  • Вопрос задан
  • 68 просмотров
Решения вопроса 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',
        },
    }
}
Я б советовал завести отдельного юзера для тестов и дать ему права на создание таблиц
Ну так, на всякий случай
Имя БД джанга сама изменит
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы