标签: pg

无法推送应用Heroku - 无法通过Bundler安装宝石

这就是我的看法Gemfile:

source 'http://rubygems.org'

gem 'rails', '3.1.2'

#gem 'sqlite3'
gem 'mysql2'
gem "rvm", "~> 1.9.2"
gem 'authlogic'
gem "taps", "~> 0.3.23"
gem "paperclip", "~> 2.4.5"
gem 'aws-s3'
gem 'actionmailer'

gem 'will_paginate'

group :assets do
  gem 'sass-rails',   '~> 3.1.5.rc.2'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end

group :production do
  gem 'therubyracer-heroku', '~> 0.8.1.pre3'
  gem 'pg'
end

gem 'jquery-rails'
Run Code Online (Sandbox Code Playgroud)

这是将应用程序推送到Heroku的输出:

Counting objects: 307, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (291/291), done.
Writing objects: 100% …
Run Code Online (Sandbox Code Playgroud)

heroku git-push bundler pg ruby-on-rails-3.1

12
推荐指数
3
解决办法
2万
查看次数

使用ruby pg gem准备好的INSERT语句的示例

有些谷歌搜索大约半天,我找不到使用pg gem(postgresql ruby​​ gem)准备的INSERT语句的任何样本.

我试过这个(看完gem文档后):

def test2
    conn = PG.connect( dbname: 'db1' )
    conn.prepare("statement1", 'INSERT INTO table1 (id, name, profile) VALUES (?, ?, ?)')
end
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

pgtest.rb:19:in `prepare': ERROR:  syntax error at or near "," (PG::Error)
LINE 1: INSERT INTO table1 (id, name, profile) VALUES (?, ?, ?)
                                                        ^
from pgtest.rb:19:in `test2'
from pgtest.rb:25:in `<main>'
Run Code Online (Sandbox Code Playgroud)

ruby postgresql pg

11
推荐指数
1
解决办法
2万
查看次数

我应该忽略schema.rb,因为扩展在开发/生产操作系统上有所不同吗?

我的数据库使用PostgreSQL.我在Mac上开发,需要这一行:

  # db/schema.rb on Mac environment
  enable_extension "plpgsql"
Run Code Online (Sandbox Code Playgroud)

但是,Linux上不需要扩展.

在这种情况下,我们应该忽略schema.rb并通过db:migrate为开发环境和生产环境生成吗?

ruby rake ruby-on-rails pg rails-postgresql

11
推荐指数
1
解决办法
3155
查看次数

我如何设置heroku postgresql应用程序的路径?

我刚刚安装了heroku PSQL应用程序(v1.0),我无法使用gem pg"0.1.4"连接我的rails应用程序.我已经将路径PATH ="/ Applications/Postgres.app/Contents/MacOS/bin:$ PATH"添加到我的.profile和我的.bashrc文件中,但似乎没有任何东西允许我只是通过调用"psql"来运行psql.我成功使用"psql -h localhost".当我选择"psql"时,我得到:

Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)

我正在使用山狮.

postgresql ruby-on-rails heroku pg osx-mountain-lion

10
推荐指数
2
解决办法
4458
查看次数

pg(node-postgres)是否自动清理数据

我正在使用node-postgres生产应用程序,我想知道是否有任何我应该关注的事项?数据是否自动消毒node-postgres

我在github页面上找不到任何关于它的信息:https://github.com/brianc/node-postgres

node.js pg node-postgres

10
推荐指数
3
解决办法
5917
查看次数

Rails/Ruby/Postgres - LoadError无法加载此类文件 - pg_ext

我试图使用下面的rails控制器调用一个Ruby脚本(连接到postgres数据库),但是它似乎在加载一个PG gem文件时遇到问题.我已将require语句设置为要求'pg'并尝试绝对路径(require /usr/local/rvm/gems/ruby-1.9.3-p194@railsTest/gems/pg-0.14.0/lib/pg/).文件'pg_ext'实际上存在于目录中.另外,我可以独立运行ruby脚本而没有任何问题(dbrubyscript.rb),但是当轨道被添加到这个等式中时,它会出现cannot load such file -- pg_ext错误.

这里的任何方向都将非常感激,因为我无法在网上找到解决此问题的任何内容

Rails控制器:

class TestdlController < ApplicationController
def runmyscript
  load "/usr/local/rvm/my_app/ruby_scripts/reports/dbrubyscript.rb"
  send_file '/usr/local/rvm/tmp/failedtests.csv', :type => 'text/csv', :disposition => 'inline'
  flash[:notice] = "Reports are being processed..."
end
end
Run Code Online (Sandbox Code Playgroud)

.rb文件(dbrubyscript.rb)具有以下内容:

require 'rubygems'
require 'pg'

connects to (production) database
@conn = PGconn.connect("zzzzz.test.prod", 5432,"","","yyyyy_prod" ,"postgres", "xxxxxx")
.....
Run Code Online (Sandbox Code Playgroud)

跟踪错误: TestdlController中的LoadError#runmyscript

无法加载此类文件 - pg_ext

Rails.root:/ usr/local/rvm/my_app应用程序跟踪| 框架跟踪| 完整跟踪app/controllers/Testdl_controller.rb:3:在`runmyscript'中

加载以下文件时发生此错误:
/usr/local/rvm/my_app/ruby_scripts/reports/dbrubyscript.rb
/usr/local/rvm/gems/ruby-1.9.3-p194@railsTest/gems/pg-0.14. 0/lib/pg/
pg_ext

ruby ruby-on-rails pg

9
推荐指数
1
解决办法
8974
查看次数

connection.select_value只返回带有pg gem的postgres中的字符串

我正在将rails应用程序从使用mysql(mysql2 gem)转换为postgres(pg gem).

使用mysql,ActiveRecord::Base.connection.select_value调用返回根据数据键入的值,例如:

> ActiveRecord::Base.connection.select_value("SELECT COUNT(*) FROM errors")
=> 86
> ActiveRecord::Base.connection.select_value("SELECT exception FROM errors where id=565")
=> "TechTalk.Genome.SqlExecutionException"
> ActiveRecord::Base.connection.select_value("SELECT id FROM errors where id=565")
=> 565
Run Code Online (Sandbox Code Playgroud)

但是,使用postgres,connection.select_value总是返回一个字符串:

> ActiveRecord::Base.connection.select_value("SELECT COUNT(*) FROM errors")
=> "1"
> ActiveRecord::Base.connection.select_value("SELECT id FROM errors")
=> "1"
> ActiveRecord::Base.connection.select_value("SELECT source FROM errors limit 1")
=> "webapp"
Run Code Online (Sandbox Code Playgroud)

这打破了一些单元测试,虽然这些是可修复的,但我确定我们还有其他依赖这些返回值的代码.有没有办法connection.select_value在使用postgres时获得正确输入的返回值?

mysql postgresql activerecord pg ruby-on-rails-3

9
推荐指数
1
解决办法
1493
查看次数

如何获取从PG :: Result插入的行的id

我运行了一个简单的插入命令:

INSERT INTO names (name) VALUES ('john')

作为响应,我得到一个PG :: Result对象.我一直在挖掘这些文档,但是我无法从那个对象中挤出我需要的信息:我刚插入的行的ID是什么?

database postgresql insert heroku pg

9
推荐指数
1
解决办法
4431
查看次数

轨道中的PG pg_ext加载错误

我最近更新到rails 4.1.6和ruby 2.1.3p242.我还更新了我系统上的所有宝石.创建新应用程序后,我在运行服务器时不断收到pg_ext加载文件错误.我在Windows 8 x64上使用PostgreSQL 9.3.pg gem在我以前的RoR安装下工作正常,它是rails 3.2和ruby 1.9.3.

在gem的安装目录下,我有一个2.0/pg_ext.so文件.我尝试将文件夹重命名为2.1并运行服务器.结果是一样的.我认为这是因为Ruby不允许要求.so文件.以下是错误的屏幕截图:

在此输入图像描述

任何帮助将非常感激.谢谢!

pg ruby-on-rails-4

9
推荐指数
2
解决办法
1万
查看次数

使用 LIMIT / ORDER BY 和 pg Postgres NodeJS 作为参数

我有一个模型,它使用 SORT/PAGE/PER PAGE 调用产品,它可以很好地使用数值作为参数,但不能使用字符串。这工作正常...

params.limit = 12
client.query('SELECT * FROM products LIMIT $1', [params.limit], function(err, result)
Run Code Online (Sandbox Code Playgroud)

然而这并不...

params.sort = 'product_id'
params.direction = 'DESC'
client.query('SELECT * FROM products ORDER BY $1 $2', [params.sort, params.direction], function(err, result)`
Run Code Online (Sandbox Code Playgroud)

我认为这是因为它将单词包装DESC'DESC'但我不知道如何在不将其直接注入字符串的情况下实现这一点。

另外,LIMIT传递一个整数总是有效的,但ALL我认为出于同样的原因传递不会。

任何帮助都会非常有用!

postgresql node.js pg

9
推荐指数
1
解决办法
4762
查看次数