首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

虽然我没有在Gemfile中使用PG gem,而且database.yml也没有包含任何Postgresql引用,但是在Rails5中得到了PSQL错误

在Rails5中,即使您没有在Gemfile中使用PG gem,并且database.yml文件中也没有包含任何Postgresql引用,但仍然可能会遇到PSQL错误。这是因为Rails5默认使用Postgresql作为数据库,即使您没有明确指定。

要解决这个问题,您可以尝试以下几个步骤:

  1. 确保您的数据库配置正确:检查database.yml文件中的配置是否正确,包括数据库名称、用户名、密码等。确保这些配置与您实际使用的数据库相匹配。
  2. 检查Gemfile.lock文件:如果您之前在项目中使用过PG gem,并且在Gemfile.lock文件中有相关的依赖项,那么即使您现在已经将PG gem从Gemfile中删除,Gemfile.lock文件仍然会保留这些依赖项。您可以尝试删除Gemfile.lock文件,并重新运行bundle install命令来重新生成Gemfile.lock文件。
  3. 清除数据库连接缓存:Rails会缓存数据库连接,以提高性能。如果之前已经建立了与Postgresql数据库的连接,即使您删除了PG gem和相关配置,Rails仍然会尝试使用之前的连接。您可以尝试清除数据库连接缓存,以便Rails重新建立与正确数据库的连接。可以通过执行以下命令来清除数据库连接缓存:
  4. 清除数据库连接缓存:Rails会缓存数据库连接,以提高性能。如果之前已经建立了与Postgresql数据库的连接,即使您删除了PG gem和相关配置,Rails仍然会尝试使用之前的连接。您可以尝试清除数据库连接缓存,以便Rails重新建立与正确数据库的连接。可以通过执行以下命令来清除数据库连接缓存:
  5. 检查其他Gem和代码:如果以上步骤都没有解决问题,那么可能是由于其他Gem或代码中存在与Postgresql相关的配置或依赖项。您可以检查Gemfile和其他代码文件,查找是否有任何与Postgresql相关的配置或依赖项,并将其删除或注释掉。

总结起来,解决这个问题的关键是确保数据库配置正确,并清除任何可能存在的数据库连接缓存。如果问题仍然存在,您可能需要进一步检查其他Gem和代码中是否存在与Postgresql相关的配置或依赖项。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在Ubuntu 14.04上使用Git Hooks部署Rails应用程序

没有服务器的同学可以在这里购买,不过个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。 您需要在服务器上安装Ruby。...所以进入PostgreSQL控制台,如下所示: sudo -u postgres psql 然后示例为数据库用户设置密码“appname”,如下所示: \password appname 输入所需的密码并确认...更新Gemfile 如果你的Gemfile没有指定PostgreSQL适配器gempg和指定了Puma gem,你应该立即添加它们。 您喜欢的编辑器打开应用程序的Gemfile。...我们将在这里使用vi: vi Gemfile 将以下行添加到Gemfile: group :production do gem 'pg' gem 'puma' end 保存并退出。...这指定production环境应该使用pg和puma gems。 配置Puma 配置Puma之前,您应该查找服务器具有的CPU核心数。

2.5K60

如何在Ubuntu 14.04上使用Puma和Nginx部署Rails应用程序

没有服务器的同学可以在这里购买,不过个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...自建服务器难免会遇到这样的问题,配置SSL很麻烦,虽然对一部分人来说这也是一种乐趣,但是如果您在生产环境使用还是建议您直接使用云关系型数据库,云关系型数据库让您在云中轻松部署、管理和扩展的关系型数据库...所以进入PostgreSQL控制台,如下所示: sudo -u postgres psql 然后示例为数据库用户设置密码“appname”,如下所示: \password appname 输入所需的密码并确认...请小心保持此文件的私密性,并且不要将其包含任何公共代码存储库。...您喜欢的编辑器打开Gemfile(确保您在应用程序的根目录): vi Gemfile 文件的末尾,使用以下行添加Puma gemgem 'puma' 保存并退出。

5.3K10

如何在Ubuntu 14.04上使用Unicorn和Nginx部署Rails应用程序

本教程将帮助您部署Ruby Rails应用程序的生产环境,使用PostgreSQL作为数据库,Ubuntu 14.04上使用Unicorn和Nginx。...教程准备 本教程假定您将在部署应用程序的用户上安装了安装了以下软件的Ubuntu 14.04服务器(没有服务器的同学可以在这里购买,不过个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器...所以进入PostgreSQL控制台,如下所示: sudo -u postgres psql 然后示例为数据库用户设置密码“appname”,如下所示: \password appname 输入所需的密码并确认...请小心保持此文件的私密性,并且不要将其包含任何公共代码存储库。...您喜欢的编辑器打开Gemfile(确保您在应用程序的根目录): vi Gemfile 文件的末尾,使用以下行添加Unicorn gemgem 'unicorn' 保存并退出。

4.2K00

Ruby 应用容器封装踩坑记录(Lobsters)

第三回合:手动指定 Rake 版本 修改容器环境后,我们很“顺利”的将镜像打包完毕。虽然还在报类似上面的错误,但是看起来仅仅是因为软件依赖文件的声明的问题,应该不影响运行。...毕竟自 2.4.x 2016 年末推出后,官方后续陆续的也出了不少安全修复,而且多数受到影响的都是老版本的 Ruby / RubyGems ,可不想在 2020 年还在维护一个五年的软件环境,以及一堆不知道哪年推出的软件包依赖...su lobsters -c "bundle update --bundler"; \ su lobsters -c "gem install bundler:1.17.3"; \ 测试构建顺利成功,启动应用也没有问题...的说明,推测还是 Gemfile.lock 中指定的 Bundler 软件版本。...虽然我们容器首次进行安装,不需要清理缓存,但是考虑到官方镜像潜在的 tricks,还是选择设置安装时不从缓存读取内容稳妥些。

4.7K00

Ruby 应用容器封装踩坑记录(Lobsters)

第三回合:手动指定 Rake 版本 修改容器环境后,我们很“顺利”的将镜像打包完毕。虽然还在报类似上面的错误,但是看起来仅仅是因为软件依赖文件的声明的问题,应该不影响运行。...毕竟自 2.4.x 2016 年末推出后,官方后续陆续的也出了不少安全修复,而且多数受到影响的都是老版本的 Ruby / RubyGems ,可不想在 2020 年还在维护一个五年的软件环境,以及一堆不知道哪年推出的软件包依赖...,启动应用也没有问题。...的说明,推测还是 Gemfile.lock 中指定的 Bundler 软件版本。...虽然我们容器首次进行安装,不需要清理缓存,但是考虑到官方镜像潜在的 tricks,还是选择设置安装时不从缓存读取内容稳妥些。

7.4K10

部署一个Sinatra应用程序到Heroku

让我们来看看… 如果你读过的文章:用Sinatra构建一个数据驱动的应用程序,你可能已经准备好尝试部署了。...假设您对本地应用程序感到满意,接下来要做的是确保您有一些文件: Gemfile config.ru 在上面的帖子描述的Gemfile包含对应用程序中使用的所有Ruby gems的引用gem 'sinatra...=> :production gem 'dm-sqlite-adapter', :group => :development group :production do gem 'pg', '0.14.1...将在稍后的帖子讨论这些。记下生产和发展群组。Heroku并不支持Sqlite。 Sinatra是一个Rack应用程序,但Heroku与这些没有任何障碍。...我们只需要一个文件来解释我们如何让我们的应用程序运行: config.ru你需要以下内容: require '.

2.6K60

数据库PostrageSQL-备份和恢复

备份和恢复 由于包含着有价值的数据,PostgreSQL数据库应当被定期地备份。虽然过程相当简单,但清晰地理解其底层技术和假设是非常重要的。...默认情况下,psql脚本遇到一个SQL错误后会继续执行。...你也许希望遇到一个SQL错误后让psql退出,那么可以设置ON_ERROR_STOP变量来运行psql,这将使psql遇到SQL错误后退出并返回状态3: psql --set ON_ERROR_STOP...这意味着template1加入的任何语言、过程等都会被pg_dump转储。...该命令的基本用法是: pg_dumpall > dumpfile 转储的结果可以使用psql恢复: psql -f dumpfile postgres (实际上,你可以指定恢复到任何已有数据库名,但是如果你正在将转储载入到一个空集簇则通常要用

2K10

工程化(三)

我们找到DevToolsCore.framework文件夹,翻遍该文件夹,也没有找到有效的相关API的头文件,如下: 而没有头文件的话,就找不到对应的API进行调用了。...:Ruby引用第三方库是使用gem,这类似于iOS引用第三方库是使用pod,二者的对比如下: 上面这一行,是iOS工程里面使用CocoaPods去引入三方库;下面这一行,是Ruby中使用bundler...而在Gemfile中指定的rake版本是: 这就与终端默认使用的rake版本不匹配了,所以报错。 Ruby里面,$打头的变量被称为是全局变量,它可以程序的任何地方加以引用。...如果你安装了多个gem版本,那么就需要指定当前使用gem版本,通过命令前面加上bundle exec,就可以指定【使用Gemfile描述的Gem版本运行!】。...这是因为没有VSCode配置终端命令路径: 如上图所示,需要在Command Path里面配置solargraph这个gem的路径,终端使用which solargraph 命令获取到二进制可执行文件的路径

52740

部署一个Sinatra应用程序到Heroku

如果你准备使用Sinatra构建一个PHP应用程序的话,写了一篇 Rubysource 的文章,向你展示如何用Sinatra创建一个博客应用程序。 您需要在Heroku有一个(免费)帐户。...假设您认为本地的应用程序没有问题了,接下来要做的是确保您有下边这些文件: Gemfile config.ru 在上面的帖子描述的Gemfile包含在应用程序中使用的所有Ruby gems的引用: source...pg', '0.14.1' end 部署Sinatra应用程序你可能不需要了解这些:比如rdiscount和Pony。...我们只需要一个文件来表明我们想如何让我们的应用程序运行: config.ru里你需要填写以下内容: require '....然后,假设你已经提交了最新的更新,你可以这样做: git push heroku master 你会看到Heroku收到推送请求,压缩文件,安装所需的Ruby gem,然后,没有问题的话,部署你的应用程序

5.1K110

迁移实战:一次AntDB(基于pgxl分布式架构的数据库)数据库迁移经验分享

由于AntDB使用过程,与pgxl很相近,所以本文对pgxl的情况下有一定的帮助。 一、前言 AntDB是一款基于PG内核的分布式数据库。...由于AntDB使用过程,与pgxl很相近,所以本文对pgxl的情况下应该还是有一定的帮助。 二、背景 最近,某客户现场需要将其之前使用的AntDB进行升级。...但是在本次迁移,源AntDB存放的表数量以及数据量都非常大(表数量基本由22w张,数据量大约有46T)。所以,如果使用pg_dump和pg_restore的方式,其效率将会非常低。...因此,我们则选择使用postgresql的copy的方式进行迁移。...通过对COPY语法的研究,发现在postgreSQL,存在copy…to stdout和copy…to stdin两种方式,这两种方式表示将数据copy后输出到标准输出(psql执行,则会直接打印屏幕上

5.6K20

详解LinuxPostgreSQL和PostGIS的安装和使用

PostgreSQL 配置 如果是从源码安装 不建议从源码安装,曾经试过从源码安装,实在是太麻烦了,而且各种 make install 容易出错。最后还是用 rpm 安装了。...$PGDATA = "/usr/local/pgsql/database" 但是执行了 pg_ctl start 之后,会出现错误pg_ctl: directory "/usr/local/pgsql... psql 设置一下密码——需要注意的是,这里设置的密码并不是 postgres 系统帐户的密码,而是在数据库的用户密码: postgres=# \password postgres 然后按照提示输入密码就好...的 .shp 文件使用的是 EPSG:3857 ....:也就是前面的 template_postgis dbuser:你的账户名,一般使用 postgres 导入 .sql 文件 sudo su postgres psql \c newdb \i demo.sql

3.1K31

如何备份PostgreSQL数据库

幸运的是,PostgreSQL包含的工具使这项任务变得简单易行。 开始之前 开始本教程之前,您应该在系统上安装PostgreSQL。...pg_dump dbname > dbname.bak 生成的备份文件dbname.bak可以使用scp传输到另一台主机,也可以存储本地以供以后使用。...备份格式有几种选择: *.bak:压缩二进制格式 *.sql:明文转储 *.tar:tarball 注意:默认情况下,PostgreSQL将忽略备份过程中发生的任何错误。...要防止这种情况,您可以使用-1选项运行pg_dump命令。 这会将整个备份过程视为单个事务,这将在发生错误时阻止部分备份。...更多信息 有关此主题的其他信息,您可能需要参考以下资源: 如何保护PostgreSQL免受攻击 Ubuntu 16.04如何使用PostgreSQL的全文搜索 让你的PostgreSQL更安全 ---

14.8K42

数据库PostrageSQL-启动数据库服务器

这个步骤同样必须以PostgreSQL用户帐户登录来操作。如果没有-D选项,服务器将尝试使用环境变量PGDATA命名的目录。如果这个环境变量也没有提供则导致失败。 通常最好在后台启动postgres。...不管你做什么,服务器必须由PostgreSQL用户账户而不是 root或任何其他用户启动。因此你可能应该在你的命令中使用su postgres -c '…'这种形式。...例如: su postgres -c 'pg_ctl start -D /usr/local/pgsql/data -l serverlog' 下面是一些更加与操作系统相关的建议(每一种情况要确保我们展示通用值的地方使用正确的安装目录和用户名...Solaris上,创建一个名为/etc/init.d/postgresql的文件,其中包含下列行: su - postgres -c "/usr/local/pgsql/bin/pg_ctl start...客户端连接问题 尽管可能在客户端出现的错误情况范围宽广而且是应用相关的,但的确有几种与服务器的启动方式直接相关。除了下面提到的几种错误之外的问题都应该在相应的客户端应用文档

4.2K20

Heroku中部署一个Sinatra应用程序

首先你需要在Heroku上有一个账户(注册是免费的) 如果你对你的程序本地环境的运行情况感到满意(即你已经完成了应用程序的开发,并且其本地运行没有问题),接下来要做的是确保你有以下文件: Gemfile...config.ru 其中Gemfile包含对应用程序中使用的所有Ruby gem引用gem 'sinatra' gem 'rdiscount' gem 'data_mapper' gem 'dm-migrations...group :production do gem 'pg', '0.14.1' end 你可能不需要其中的一些gem:比如rdiscount和pony。...将在之后的帖子讨论这一部分。请留意生产和开发的环境,Heroku不支持Sqlite。...我们只是需要一个文件来配置我们应用程序的运行方式: config.ru你需要以下代码: require '.

2.6K60

数据库PostrageSQL-升级一个PostgreSQL集簇

服务器 C-语言 API 这涉及到后端函数 API 的改变,它使用 C 编程语言编写。这些改变影响引用服务器内部后端函数的代码。 18.6.1....(这也阻止你一个不兼容版本的PostgreSQL使用一个数据目录,因此一个数据目录上尝试启动一个错误的服务器版本不会造成很大的危害)。...我们推荐你从较新版本的PostgreSQL使用pg_dump和pg_dumpall程序,这样可以利用在这些程序可能存在的改进。当前发行的转储程序可以读取任何 7.0 以上版本服务器的数据。...如果必要,编辑/usr/local/pgsql/data/pg_hba.conf文件的权限(或等效的方法)来不允许除你之外的任何使用数据库。关于访问控制的额外信息请见Chapter 20。...但是,要得到最好的结果,试试使用PostgreSQL 11.2 的pg_dumpall命令,因为这个版本包含了对旧版本的缺陷修复和改进。

94610

PostgreSQL集群篇——2、PG环境安装准备

PostgreSQL集群篇——2、PG环境安装准备 作者 CN華少 标签 PostgreSQL,PG,集群,DBA,架构师,PG安装,编译安装 背景QQQ PostgreSQL官方文档中讲到了多种高可用...流式虚拟备库 开始支持虚拟备库,即备库没有数据文件,只包含wal文件。...如果必要,pg_basebackup将创建该目录及任何父目录。 -Fp 把输出写成平面文件,使用和当前数据目录和表空间相同的布局。 -X stream 备份被创建时通过流复制传送预写式日志。...-R --write-recovery-conf 输出目录(或者当使用 tar 格式时基础归档文件)建立 standby.signal 并附加连接设置到postgresql.auto.conf...注:任何在数据库执行命令修改参数的操作,都将存储postgresql.auto.conf配置文件文件 2、修改本机的postgresql.conf文件以下参数,这里可根据自己需求进行修改。

2.9K40

【DB宝97】PG配置SSL安全连接

查看postgresql是否使用openssl选项编译安装,没有则需重新编译: [pg12@lhrpgcm1 ~]$ pg_config|grep CONFIGURE CONFIGURE = '--prefix...虽然可以使用自签名证书进行测试,但是应该在生产环境中使用由证书颁发机构(CA)(通常是企业范围的根CA)签名的证书。...测试连接 psql客户端使用ssl连接 使用ssl连接命令: -- 1、Linux环境,需要将证书放在当前用户的.postgresql目录下 psql 'host=localhost user=postgres...postgres=# postgres=# Windows环境, image-20220301140120966 然后进行连接: C:\Users\lhrxxt>psql postgresql...如表中所示,这在安全性的角度来说没有意义,并且它只承诺可能的性能负荷。提供它作为默认值只是为了向后兼容,并且我们不推荐安全部署中使用它。

2.2K10

Ubuntu 14.04上安装GitLab(Trusty Tahr)

GitLab提供了一个.deb包,其中包含GitLab社区版及其已编译的所有依赖项(Ruby,PostgreSQL,Redis,Nginx,Unicorn和其他gem)。安装GitLab非常简单。...撰写本文时,我们将使用最新版本的Ruby和GitLab,因此请检查当前安装包是否为最新版本。...PostgreSQL版本,以方便测试: sudo -u git -H psql -d gitlabhq_production -c "SELECT VERSION()" 如果一切正常,您应该会在控制台上看到如下信息...本节,将为您介绍如何为GitLab部署一个全新的虚拟机环境并激活该站点。...=production 如果大多数的选项都是绿色的,只有个别选项是紫色的(这是因为您还没有创建任何git项目,所以这是允许的),那就证明您已经成功安装了GitLab。

2.1K10
领券