Tag: postgresql

更新到OS X 10.9 Mavericks后,使用Rails和postgres引发麻烦

在更新到OS X 10.9 Mavericks之后,我尝试启动Rails 3应用程序,但是与PG数据库的连接无法正常工作。 检查PGAdmin III,数据库仍在那里,它工作正常。 所以我尝试重新安装pg gem: gem uninstall pg gem install pg 但是最后一个命令没有成功,并给出以下错误: 构建原生扩展。 这可能需要一段时间…错误:安装pg时出错: 错误:无法构建gem原生扩展。 /Users/XXX/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb checking for pg_config… yes Using config values from / usr / local / bin / pg_config * extconf.rb失败*由于某些原因无法创建Makefile,可能缺少必要的库和/或头文件。 检查mkmf.log文件以获取更多详细信息。 您可能需要配置选项。 /Users/XXX/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:381:in`try_do’:编译器无法生成可执行文件。 (RuntimeError)您必须首先安装开发工具。 来自/Users/XXX/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:461:in try_link0′ from /Users/XXX/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/mkmf.rb:476:in来自extconf.rb的try_link’:39:in” 我猜这个问题与Xcode开发人员工具有关 。 我将Xcode更新到最新版本,但这并没有解决问题。 你知道怎么解决吗?

Rails – postgres上的gmaps4rails gem

我在我的本地MySQL机器上成功使用了gmaps4rails gem。 但是,当我在Heroku上部署到PG时,对于使用gmaps4rails“near”函数查找所选位置附近位置的代码,我收到以下错误: 2012-05-21T17:58:40+00:00 app[web.1]: ActiveRecord::StatementInvalid (PG::Error: ERROR: operator does not exist: numeric – character varying 2012-05-21T17:58:40+00:00 app[web.1]: ^ 2012-05-21T17:58:40+00:00 app[web.1]: LINE 1: …8.755864232 * 2 * ASIN(SQRT(POWER(SIN((30.1926300 – venues.l… 2012-05-21T17:58:40+00:00 app[web.1]: HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. 2012-05-21T17:58:40+00:00 app[web.1]: : SELECT venues.*, […]

Ruby on Rails / PostgreSQL – 启动server-libq.5.dylib时出现Library not Loaded错误

我有运行Ruby 1.9.2,Rails 3和postgreSQL 8.3的应用程序。 它最初设置并使用postgreSQL 9.1,但我卸载了9.1并安装并更改为8.3以确保Heroku共享数据库设置的兼容性。 它运行正常,但现在不行 现在,在处理这个应用程序时,当我运行数据库升级时,我收到此错误: dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle Reason: no suitable image found. Did find: /usr/lib/libpq.5.dylib: no matching architecture in universal wrapper – /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle 当我尝试运行服务器时,我收到以下错误消息: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg.rb:4:in `require’: dlopen(/Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle, 9): Library not loaded: libpq.5.dylib (LoadError) Referenced from: /Users/michaeljmccoy/.rvm/gems/ruby-1.9.2-p290/gems/pg-0.12.2/lib/pg_ext.bundle Reason: no suitable image found. Did find: /usr/lib/libpq.5.dylib: no […]

相当于Postgres中的strftime

在我的SQLite数据库迁移到开发服务器上的Postgres后,我得到了 PG::UndefinedFunction: ERROR: function strftime(unknown, date) does not exist 有没有我可以使用的function来保持我的应用程序的function? 编辑:尝试使用to_char但失败了。 特别是,我不明白如何在诸如此类的结构中实现它 def self.query_by_year_month(y, m) where(“strftime(‘%Y’, date) = ? and strftime(‘%m’, date) = ?”, y, m) end 谢谢!

为字段创建PostgreSQL序列(不是记录的ID)

我正在开发Ruby on Rails应用程序。 我们正在使用PostgreSQL数据库。 有一个名为scores的表,其中包含以下列: Column | Type ————–+———————– id | integer value | double precision ran_at | timestamp active | boolean build_id | bigint metric_id | integer platform_id | integer mode_id | integer machine_id | integer higher_better | boolean job_id | integer variation_id | integer step | character varying(255) 我需要在job_id添加一个序列 (注意:没有job模型)。 如何创建此序列?

Cloud9 postgres

我正在尝试在Cloud9中的Rails应用程序中设置postgres数据库。 我按照这里的说明操作: https ://docs.c9.io/setting_up_postgresql.html并设置一个名为cc_database的数据库。 我的database.yml文件如下所示: development: adapter: postgresql encoding: SQL_ASCII database: cc_database pool: 5 username: postgres password: password 当我运行rake db:setup时出现以下错误: PG::ConnectionBad: FATAL: Peer authentication failed for user “postgres” 我对这一切都很陌生,所以任何建议都会非常感激。

SQLite3和Postgres / Heroku Ruby on Rails查询问题

我试图通过加入我的数据库中的两个表来进行查询。 查询在localhost(由SQLite3支持的数据库)中完美地工作,但是当它将它推送到heroku服务器(使用postgres)时,它不再起作用。 我尝试了一些方法并且它可以工作,但它们都适用于本地。 在我的控制器中,我有 @user = User.find(params[:id]) 我试图通过使用不同的方法查询以下语句并返回相同的结果。 以下是我尝试过的不同方法。 所有这些都完全适用于SQLite3,但不适用于Postgres的Heroku。 @locations_user_rated = Location.joins(‘INNER JOIN rates’).where(“rates.rateable_id = locations.id AND rates.rater_id =?” , 2) (假设当前用户ID = 2) @locations_user_rated = Location.joins(‘INNER JOIN rates’).where(“rates.rateable_id = locations.id AND rates.rater_id =?” , User.find(params[:id])) @locations_user_rated = Location.joins(‘INNER JOIN rates’).where(“rates.rateable_id = locations.id AND rates.rater_id =?” , @user) @locations_user_rated = Location.joins(‘INNER JOIN rates’).where(‘rates.rater_id’ => […]

在Rails + Postgres中按任意时间间隔计算记录的最佳方法

我的应用程序有一个带有时间戳事件的Events表。 我需要在每个最近的N时间间隔内报告事件的数量。 对于不同的报告,间隔可以是“每周”或“每天”或“每小时”或“每15分钟间隔”。 例如,用户可以显示他们每周,每天,每小时或每季度收到的订单数量。 1)我的偏好是动态地执行单个SQL查询(我正在使用Postgres)按任意时间间隔进行分组。 有没有办法做到这一点? 2)一种简单但丑陋的暴力方法是对按时间戳排序的开始/结束时间帧内的所有记录执行单个查询,然后使用方法手动按任意间隔构建计数。 3)另一种方法是为每个间隔向事件表添加单独的字段,并静态存储the_week the_day , the_hour和the_quarter_hour字段,这样我就可以在创建记录时(一次)取“命中”而不是每次我关于该领域的报告。 这里有什么最好的做法,因为我可以根据需要修改模型并预先存储间隔数据(尽管只需要将表宽增加一倍)?

Rails:安装pg gem时出错

可能重复: Postgres – “pg”gem的最后一个版本0.14.0给出了错误 我是铁杆新手。 我想使用PostgreSQL,因为Heroku也使用它,但我在安装pg gem时遇到了不好的时间。 显然,有些文件丢失,无法创建Makefile? 我的gem文件如下所示: source ‘https://rubygems.org’ gem ‘rails’, ‘3.2.6’ gem ‘faker’, ‘1.0.1’ gem ‘pg’, ‘0.12.2’ gem ‘json’ group :development, :test do gem ‘rspec-rails’, ‘2.10.0’ end group :assets do gem ‘sass-rails’, ‘~> 3.2.3’ gem ‘coffee-rails’, ‘~> 3.2.1’ gem ‘uglifier’, ‘>= 1.0.3’ end gem ‘jquery-rails’, ‘2.0.0’ group :test do gem ‘capybara’, ‘1.1.2’ […]

如何从SQLite3切换到Postgres以在Heroku上部署

我的初始数据库是SQLite 3,但是heroku不支持它,我必须切换到PostgreSQL。 我试图在gemfile中使用gem,但部署仍然失败。 这是我的gemfile: source ‘https://rubygems.org’ gem ‘postgres’, ‘~> 0.8.1’ group :development, :test do gem ‘sqlite3’ end 部署日志中的摘录显示失败的内容: … Bundled gems are installed into ./vendor/bundle. remote: Post-install message from rdoc: remote: Depending on your version of ruby, you may need to install ruby rdoc/ri data: remote: = 1.9.2 : nothing to do! Yay! remote: Post-install […]