Tag: postgresql

最好使用空值作为”还是NULL?

数据库架构 我有这个字段: 标题(字符串) 字幕 描述(字符串) 最好将默认值设置为空字符串”或NULL ? 为了更好的读/写和大小存储性能

ActiveRecord在Heroku上错误地加载二进制字段,在OSX上很好

我有一个rails 3.1应用程序,它将图像存储在postgresql数据库的二进制字段中(我知道在数据库中存储图像的潜在问题,但现在必须这样做)。 在开发模式和OSX上的规格本地一切都很好,但所有图像都在部署到Heroku的应用程序中被破坏。 我已经通过将本地计算机指向heroku实例使用的同一数据库并且所有图像都正确显示来validation数据库中的数据是否正确。 所以,问题似乎在于ActiveRecord(在Heroku上运行)从数据库加载数据。 我也猜测这是一个编码问题。 在本地运行rails控制台我可以validation这些字段的字节大小是否正确,但在Heroku上运行rails控制台显示的字节大小不正确。 实际上,在Heroku上通过ActiveRecord加载N字节文件会导致所有文件的字节大小为2N + 1。 任何帮助是极大的赞赏。

rails – postgres错误:原因:库版本不兼容:libpq.5.dylib需要1.0.0或更高版本,

我在Mac(10.6.8)上遇到了Ruby(1.9.3),Rails和Postgres(9.0.8)的设置问题。 每当我运行rails console我都会收到以下错误: /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg.rb:4:in `require’: dlopen(/Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg_ext.bundle, 9): Library not loaded: @loader_path/../lib/libssl.dylib (LoadError) Referenced from: /usr/lib/libpq.5.dylib Reason: Incompatible library version: libpq.5.dylib requires version 1.0.0 or later, but libssl.0.9.8.dylib provides version 0.9.8 – /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg_ext.bundle from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/pg-0.13.2/lib/pg.rb:4:in `’ from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:68:in `require’ from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:68:in `block (2 levels) in require’ from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:66:in `each’ from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:66:in `block in require’ from /Users/dc/.rvm/gems/ruby-1.9.3-head@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:55:in […]

Rails + Postgres fe_sendauth:没有提供密码

嗨,我正在尝试将postgresql连接到我的rails项目。 我正在学习测试,但由于postgresql错误导致密码不正确,我的测试没有运行: Edmunds-MacBook-Pro:langexchange edmundmai$ rake test:units rake aborted! fe_sendauth: no password supplied 我已经阅读过了,我的pg_hba.conf文件原本就是这样的: # TYPE DATABASE USER ADDRESS METHOD # “local” is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust # IPv6 local connections: host all all ::1/128 trust # Allow replication connections from […]

PG :: ConnectionBad FATAL:角色“Myname”不存在

我正在尝试使用PostgreSQL,以便我可以部署到Heroku。 但是我不能再运行localhost了么? 我收到以下消息: PG::ConnectionBad FATAL: role “Myname” does not exist 这是我的databse.yml development: adapter: postgresql database: my_database_development pool: 5 timeout: 5000 test: adapter: postgresql database: my_database_test pool: 5 timeout: 5000 production: adapter: postgresql database: my_database_production pool: 5 timeout: 5000 这是我的gemfile: source ‘https://rubygems.org’ # Bundle edge Rails instead: gem ‘rails’, github: ‘rails/rails’ gem ‘rails’, ‘4.0.3’ # Use […]

如何在数据库创建时安装Postgres扩展?

如果rake命令db:create可以后跟postgresql安装脚本,那将是可爱的。 例如,这。 (必须以postgres用户身份运行): CREATE EXTENSION “fuzzystrmatch”; 这是因为,在这一刻,我每次创建数据库时都会手动执行此操作。 任何提示?

Rails + PostGIS错误迁移数据库

我跟随Daniel Azuma关于使用rails进行地理空间分析的讨论,但是每当我在第二个项目中运行rake db:migrate时我都遇到了困难。 我的设置细节如下:我使用Postgres.app运行Postgresql ,它给出了Postgres的9.1.3版本和PostGIS的2.0.0版本。 我遇到了database.yml文件的一些问题,并运行了迁移。 (我添加了相关的gem,并在application.rb中要求他们的信息) 我的database.yml文件如下所示: development: adapter: postgis postgis_extension: true host: localhost encoding: unicode database: my_app_development pool: 5 username: my_app password: 如果我添加以下行schema_search_path: “public,postgis”我得到: rake aborted! PG::Error: ERROR: schema “postgis” does not exist : SET search_path TO public,postgis 如果我删除该行,当我尝试迁移数据库时收到以下错误: rake aborted! PG::Error: ERROR: relation “geometry_columns” does not exist LINE 1: SELECT * FROM […]

Rails 3:在Postgres支持的ActiveRecord中使用json作为列类型时出现迁移错误

我正在运行Rails 3.2.17和Postgres 9.3.4。 我使用“rails generate”创建了一个新的ActiveRecord模型,其中一个列类型是json。 我的目的是在Postgres中使用json列类型。 db迁移包含以下代码: class CreateThing < ActiveRecord::Migration def change create_table :things do |t| t.integer :user_id t.json :json_data t.timestamps end add_index :things, :user_id end end 当我尝试使用“rake db:migrate”进行迁移时出现此错误: — create_table(:things) rake aborted! StandardError: An error has occurred, this and all later migrations canceled: undefined method `json’ for #/Users/../db/migrate/20140425030855_create_things.rb:7:in `block in change’ /Library/Ruby/Gems/2.0.0/gems/activerecord-3.2.17/lib/active_record/connection_adapters/abstract/schema_statements.rb:160:in `create_table’ […]

在布尔字段上添加索引

我有一个带有我搜索的布尔字段的Rails模型(我使用一个范围来查找字段设置为true的所有实例)。 我正在使用Postgres。 我的直觉是在布尔字段上添加索引。 这是一个很好的做法,还是在Postgres中有什么东西可以使布尔字段的索引变得不必要?

在postgresql中,“数据库”和“关系”有什么区别? (’错误关系x不存在’,’错误数据库x已存在’)

我看到这两个错误的并置,并且鉴于Google搜索结果的缺乏,我不得不问。 有什么区别,我需要在这做什么? deploy=# GRANT SELECT ON angel_research_production TO angel_research; ERROR: relation “angel_research_production” does not exist deploy=# create database angel_research_production; ERROR: database “angel_research_production” already exists 我的猜测是我需要从其他一些用户那里做这个授权选择业务… 所以我在postgres(dbroot)上运行它并得到这个: postgres=# GRANT SELECT ON angel_research_production TO angel_research; ERROR: relation “angel_research_production” does not exist 因此它确实作为数据库存在,但不作为关系存在。 我怎么能纠正这个问题,这里有什么根本问题? 我有点不知所措。 谢谢