2

在 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 中创建一个而不会卡在密码提示符下。

4

3 回答 3

6

这是我的做法:-

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))
于 2012-04-23T03:51:19.903 回答
2

你可以:

选择最适合您的。我可能会选择.pgpass。

于 2009-12-17T12:24:59.247 回答
0

psql 读取~/.pgpass

您还可以使用非基于密码的身份验证方法。有关更多信息,请参阅 PostgreSQL 的文档

于 2009-12-17T07:14:20.950 回答