Fabric postgresql 创建数据库

发布于 2024-08-16 01:36:51 字数 274 浏览 7 评论 0原文

在 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 中创建一个数据库而不卡在密码提示符处。

What would be equivalent of this in postgresql

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

The above works fine for creating mysql database, but how would you create one in postgresql without getting stuck at password prompt.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

2024-08-23 01:36:51

我是这样做的:-

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))

Here's how I do it:-

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))
北城挽邺 2024-08-23 01:36:51

您可以:

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

You can:

Choose whatever suits you best. I would probably go with .pgpass.

最终幸福 2024-08-23 01:36:51

psql 读取 ~/.pgpass

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

psql reads ~/.pgpass

You can also use non-password-based authentication methods. Consult PostgreSQL's documentation for more.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文