Tag: postgresql

在Rails中,无法为{“adapter”=>“postgresql”创建数据库,

我正在尝试运行rake db:create或rake db:setup但是我收到以下错误。 这很奇怪,因为rake db:create使用其他Rails项目从其他文件夹中rake db:create它正常工作。 user:project user$ rake db:create could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket “/var/pgsql_socket/.s.PGSQL.5432”? /Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:991:in `initialize’ /Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:991:in `new’ /Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:991:in `connect’ /Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:260:in `initialize’ /Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:27:in `new’ /Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:27:in `postgresql_connection’ /Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:304:in `new_connection’ /Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:323:in `checkout_new_connection’ /Users/user/.rvm/gems/ruby-1.9.2-p290/gems/activerecord- 3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:265:in `block […]

我可以使用Rails在hstore中存储数组

我想保存这样的数据: User.create(name:”Guy”, properties:{url:[“url1″,”url2″,”url3″], street_address:”asdf”}) 我可以在Rails 4中这样做吗? 到目前为止,我尝试过迁移: add_column :users, :properties, :hstore, array: true 但是当我在hstore中保存数组时,它返回错误: PG::InvalidTextRepresentation: ERROR: array value must start with “{” or dimension information

Active Record Query中基于时间的优先级

我有一个包含作业列表的表,显示时通常按created_at字段降序排序。 我正在添加一个“特色”布尔标志,这将增加客户能够更好地了解他们的工作列表的能力。 如果作业少于X天,我希望将精选列表固定在搜索结果的顶部。 如何通过现有查询修改以支持此function? Jobs.where(“expiration_date >= ? and published = ?”, Date.today, true).order(“created_at DESC”) 当前查询将拉回由created_at排序的所有当前已发布作业。

Postgres – “pg”gem的最后一个版本0.14.0给出了错误

我已经更新了我的包含pg gem的bundler,我收到了错误 An error occured while installing pg (0.14.0), and Bundler cannot continue. Make sure that `gem install pg -v ‘0.14.0’` succeeds before bundling. 我在rubygems.org上检查了这个gem,今天(6月23日)发布了这个版本。 我不知道为什么,但版本不能正常工作并返回上面的错误。 解决方案是设置特定版本 – 在这种情况下 gem“pg”,“〜> 0.13.2” 谁有同样的问题?

咨询锁或NOWAIT以避免等待锁定的行?

在我的Rails 4应用程序中,我对Postgres 9.4数据库进行了此查询: @chosen_opportunity = Opportunity.find_by_sql( ” UPDATE \”opportunities\” s SET opportunity_available = false FROM ( SELECT \”opportunities\”.* FROM \”opportunities\” WHERE ( deal_id = #{@deal.id} AND opportunity_available = true AND pg_try_advisory_xact_lock(id) ) LIMIT 1 FOR UPDATE ) sub WHERE s.id = sub.id RETURNING sub.prize_id, sub.id” ) 非常受dba.SE相关答案的启发 。 我只是希望我的查询找到并更新第一个(随机,带LIMIT )行,其中available = true并将其更新为available = false ,我需要在执行此操作时锁定该行,但不要让新请求等待发布之前的锁定,因为有许多并发调用将使用此查询。 […]

Rails / Postgresql SQL差异w /日期

在psql中运行以下查询时,我得到7个结果: SELECT generate_series(‘2012-10-14’, CURRENT_DATE, interval ‘1 day’); # 7 但是当我在rails应用程序中运行完全相同的查询时,我得到8个结果: result = ActiveRecord::Base.connection.execute “SELECT generate_series(‘2012-10-14’, CURRENT_DATE, interval ‘1 day’);” puts result.count # 8 这似乎与时区有关,但我不知道问题是什么。 我在我的application.rb中有以下内容 config.time_zone = ‘Eastern Time (US & Canada)’ 这与我在postgresql.conf中的时区设置相同 我很困惑为什么我的rails应用程序为我的结果添加了额外的一天。 谁能提供一些见解? 这似乎只发生在一天结束时(晚上8点之后)所以这就是让我认为这是时区偏移的原因。

Postgres随机停止工作(Rails,PGSQL.5432)

我一直在同一个应用程序中使用相同的Postgres数据库一个月没有问题,在今天随机出现此错误之前,我没有更改数据库中的任何内容。 但是,今天Postgres在我尝试“rails s”时随机开始抛出此错误(运行createdb或createuser时出现相同类型的错误): 退出/Users/Joe/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:1194:in’initialize’:无法连接到服务器:没有这样的文件或目录(PG ::错误)服务器是否在本地运行并接受Unix域套接字“/tmp/.s.PGSQL.5432”上的连接? 真奇怪的是,我的朋友昨天遇到了完全相同的错误(在同一个应用程序上工作),并且修复了他从http://nextmarvel.net/blog/2011/09/brew-install-postgresql运行脚本的问题。 -on-os-x-lion / 。 运行脚本后,他卸载并重新安装PG gem以使一切正常。 但是,他正在运行OS X Lion,我正在运行Snow Leopard,因此脚本对我不起作用。 (1)为什么会随机开始发生以及(2)如何修复它的任何想法?

Postgres使用CSV数据从变量复制

我知道你可以从文件中运行这样的复制命令: “COPY zip_codes FROM ‘/path/to/csv/ZIP_CODES.txt’ DELIMITER ‘,’ CSV;” 我想从ruby变量中复制csv数据,所以我可以这样做 “COPY zip_codes FROM ‘#{csv_data}’ DELIMITER ‘,’ CSV;”

bundle exec rake assets:precompile – 数据库配置没有指定适配器

24小时后,我试图找到我的应用程序的问题。 我终于找到了问题。 我跑了 rake assets:precompile RAILS_ENV=production 我一直在收到这个错误。 /Users/vezu/.rvm/rubies/ruby-1.9.3-p194/bin/ruby /Users/vezu/.rvm/gems/ruby-1.9.3-p194@global/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets rake aborted! database configuration does not specify adapter Tasks: TOP => environment (See full trace by running task with –trace) rake aborted! Command failed with status (1): [/Users/vezu/.rvm/rubies/ruby-1.9.3-p194/bi…] 我的database.yml文件看起来像这样 development: adapter: postgresql host: localhost encoding: unicode database: ndoda_development pool: 5 username: password: test: […]

关系schema_migrations的Postgres权限被拒绝

使用名为shine的db用户忙于获取PG DB。 继Rails,Angular,Postgres和Bootstrap之后:我发起了: createuser –createdb –login -P shine bundle exec rails db:create 作品。 bundle exec rails db:migrate 得到: bundle exec rails db:migrate rails aborted! ActiveRecord::StatementInvalid: PG::InsufficientPrivilege: ERROR: permission denied for relation schema_migrations : SELECT “schema_migrations”.* FROM “schema_migrations” bin/rails:4:in `require’ bin/rails:4:in `’ PG::InsufficientPrivilege: ERROR: permission denied for relation schema_migrations bin/rails:4:in `require’ bin/rails:4:in `’ Tasks: TOP => […]