ткань postgresql создать базу данных - PullRequest
1 голос
/ 17 декабря 2009

Что было бы эквивалентно этому в postgresql

run('echo "CREATE DATABASE %s;"|mysql --batch --user=%s --password=%s --host=%s' % (dataname, env.mysqluser, env.mysqlpassword, env.mysqlhost), pty=True)

Вышеописанное прекрасно работает для создания базы данных mysql, но как бы вы создали ее в postgresql, не застревая в подсказке пароля.

Ответы [ 3 ]

6 голосов
/ 23 апреля 2012

Вот как я это делаю: -

run('psql -U postgres -c "CREATE ROLE {0} WITH PASSWORD \'{1}\' NOSUPERUSER CREATEDB NOCREATEROLE LOGIN;"'.format(env.psql_user, env.psql_password))
run('psql -U postgres -c "CREATE DATABASE {0} WITH OWNER={1} TEMPLATE=template0 ENCODING=\'utf-8\';"'.format(env.psql_db, env.psql_user))
2 голосов
/ 17 декабря 2009

Вы можете:

Выберите то, что подходит вам больше всего. Я бы, наверное, пошел с .pgpass.

0 голосов
/ 17 декабря 2009

psql читает ~ / .pgpass

Вы также можете использовать методы аутентификации без пароля. Обратитесь к документации PostgreSQL для получения дополнительной информации.

...