Я хочу создать пользователя базы данных для моего скрипта настройки фабрики, но у createuser есть интерактивный ввод пароля, и швы не нравятся фабрике.
Как создать пользователя postgresql с помощью ткани
Ответы (3)
Просто используйте простой SQL для создания нового пользователя:
CREATE ROLE user_name WITH ENCRYPTED PASSWORD 'your password';
person
Frank Heikens
schedule
19.04.2010
как отправить этот SQL в postgres в одну строку?
- person user320080; 19.04.2010
Подключитесь к клиенту psql и отправьте запрос. postgresql.org/docs/8.4/interactive/app-psql.html< /а>
- person Frank Heikens; 19.04.2010
Чтобы расширить ответ с помощью примера Fabric...
# In fabfile.py
def create_database():
"""Creates role and database"""
db_user = get_user() # define these
db_pass = get_pass()
db_name = get_db_name()
sudo('psql -c "CREATE USER %s WITH NOCREATEDB NOCREATEUSER " \
"ENCRYPTED PASSWORD E\'%s\'"' % (db_user, db_pass), user='postgres')
sudo('psql -c "CREATE DATABASE %s WITH OWNER %s"' % (
db_name, db_user), user='postgres')
person
robhudson
schedule
11.01.2011
Опубликовать Но вы действительно имели в виду таблицу в
db_table = get_table()
? Похоже, вы имели в виду имя базы данных.
- person Vlad T.; 22.02.2018
Это, вероятно, будет полезно без написания собственных модулей, или вы можете использовать его в качестве справочного материала.
from fabtools import require
require.postgres.create_db ???
person
user805981
schedule
22.11.2015