gpt4 book ai didi

ruby-on-rails - Ubuntu 和 Rails PostgreSQL 设置

转载 作者:行者123 更新时间:2023-11-29 13:54:03 25 4
gpt4 key购买 nike

我在 Ubuntu 14.04 LTS 机器上。
我在 help.ubuntu.com 找到了关于如何在 Ubuntu 中为 Rails 开发配置 PostgreSQL 的有用信息。 , 在 Herokudigitalocean.com .

将所有内容放在一起,所有信息似乎都集中在创建一个登录名与我的 Ubuntu 用户名匹配的数据库 super 用户的必要性上:
sudo -u postgres createuser --superuser $USER

当使用 sudo -u postgres psql 为新 super 用户创建密码时,我想知道 Rails 是否可以在不设置密码的情况下使用 PostgreSQL,如果这个密码可以而且应该不同于我的 Ubuntu 帐户密码以及 database.yml 在推送到 Git 存储库托管网站和 Heroku 时是否会成为安全问题。
database.yml中其实就是记录了这种敏感信息。

According to Heroku有必要“导出 DATABASE_URL 环境变量,以便您的应用程序在本地运行时连接到它”,其中:export DATABASE_URL=postgres:///$(whoami)
那真的有必要吗?在 help.ubuntu.comdigitalocean.com此信息未报告。

最后,我想知道通过 PostgreSQL apt 存储库安装 PostgreSQL 的选择是否足够安全,或者安装 LTS 版本的 Ubuntu 是否更可取。

最佳答案

Rails 有两种方式设置与数据库的连接:通过config/database.yml 或通过环境变量ENV['DATABASE_URL']。参见 guides.rubyonrails.org
默认情况下 $DATABASE_URL 为空:

echo $DATABASE_URL

如果 posgresql 是通过 PostgreSQL apt 存储库安装的,为了让 Rails 使用 pg gem,还需要安装 libpq-dev 包,否则 bundle install 将失败。参见 Can't find the 'libpq-fe.h header when trying to install pg gem .

来自'man createuser':

   createuser creates a new PostgreSQL user (or more precisely, a role). Only superusers and users with
CREATEROLE privilege can create new users, so createuser must be invoked by someone who can connect as a
superuser or a user with CREATEROLE privilege.

安装 postgresql 后,它会创建一个用户 postgres,角色为 postgres。它还会创建一个 postgres 系统帐户。所以这就是为什么 createuser 应该作为 postgres 用户运行,以便第一次连接到 postgresql 并添加用户 $USER(当前系统用户)。

没有必要为新的数据库用户创建密码。大多数人将 database.yml 添加到他们的 .gitignore 文件中,因此它不受版本控制。也可以使用 .pgpass 来保持敏感*.yml 文件中的信息:参见 postgresql documentation .

可以仅作为数据库用户并通过现有数据库连接到 postgresql。在从 postgresql apt 存储库安装期间,postgresql 仅创建 postgres 用户和 postgres 数据库。
psql 命令允许当前用户连接到以当前用户命名的 postgresql 数据库。因此,如果系统用户是“dave”并且有一个“dave”数据库,则“dave”可以使用不带任何选项的命令 psql 连接到“dave”数据库。
如果 'dave' 是数据库用户但未创建数据库 'dave',为了让 dave 连接到 postgresql,必须指定一个现有数据库:

psql -d postgres

或者,dave 可以使用 sudo 作为 postgres 用户连接到执行 psql 命令的 postgresql:

sudo -u postgres psql

关于ruby-on-rails - Ubuntu 和 Rails PostgreSQL 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35583457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com