PostgreSQL Rails 不使用 Postgres 用户帐户
在本文中,我们将介绍如何在 PostgreSQL 和 Rails 应用程序中使用不是 Postgres 用户的数据库连接。
阅读更多:PostgreSQL 教程
背景
PostgreSQL 是一款强大的关系型数据库管理系统,被广泛用于开发 web 应用程序。Rails 是一种流行的 Ruby 开发框架,提供了许多便利的功能和工具来开发和管理数据库。
通常情况下,Rails 应用程序连接到 PostgreSQL 数据库时会使用 Postgres 用户的账户。然而,在某些情况下,我们可能希望使用不同的用户账户来连接数据库。这里将介绍如何配置 Rails 应用程序以使用非 Postgres 用户账户。
配置步骤
以下是配置 PostgreSQL Rails 应用程序不使用 Postgres 用户账户的步骤:
步骤一:创建一个新的数据库用户
首先,在 PostgreSQL 中创建一个新的用户账户。我们可以使用 createuser
命令通过终端来创建新账户。例如,假设我们要创建一个名为 “myapp” 的新用户,可以使用以下命令:
$ createuser -P myapp
这将提示您输入新用户的密码。请记住该密码,因为我们稍后要在 Rails 应用程序中使用。
步骤二:授予新用户对数据库的访问权限
接下来,我们需要为新用户授予对数据库的访问权限。我们可以使用 psql
命令行工具连接到 PostgreSQL 服务器,并运行以下命令:
$ psql
psql (12.2)
Type "help" for help.
postgres=# GRANT ALL PRIVILEGES ON DATABASE myapp_development TO myapp;
这将授予新用户 myapp
对数据库 myapp_development
的所有权限。我们也可以根据需要进行更细粒度的权限控制。
步骤三:更新 Rails 应用程序的数据库配置
现在,我们需要更新 Rails 应用程序的 database.yml
配置文件,以便使用新用户来连接数据库。在该文件中,查找到 development
部分,并将其中的 username
和 password
更改为我们在步骤一中创建的新用户(”myapp”)和相应的密码。
development:
adapter: postgresql
encoding: unicode
database: myapp_development
pool: 5
username: myapp
password: mypassword
host: localhost
请确保在 username
和 password
字段中正确填入您的新用户和密码。
步骤四:重启应用程序并进行测试
完成上述配置更改后,我们需要重启 Rails 应用程序以使更改生效。在终端中,导航到应用程序的根目录,并运行以下命令:
$ bin/rails server
这将启动 Rails 服务器,并使用新配置连接到 PostgreSQL 数据库。您应该能够通过浏览器访问应用程序,并进行正常的数据库操作。
总结
在本文中,我们介绍了如何在 PostgreSQL 和 Rails 应用程序中使用不是 Postgres 用户的数据库连接。通过创建新用户并授予其对数据库的访问权限,然后更新 Rails 应用程序的数据库配置,我们可以成功使用自定义用户账户连接到 PostgreSQL 数据库。
这种方法在需要为不同的应用程序或团队使用独立的数据库用户时非常有用。使用不同的用户账户可以提高安全性,并允许更好的权限控制。
希望本文对您有所帮助,谢谢阅读!