Tag: postgresql

有没有理由在ActiveRecord中使用数据库连接池?

使用外部连接池有什么好处? 我听说大多数其他应用程序将为每个工作单元打开一个连接。 例如,在Rails中,我认为这意味着每个请求都可以打开一个新连接。 我假设连接池会使这成为可能。 我能想到的唯一好处是它允许你拥有1,000个前端进程,而不需要运行1000个postgres进程。 还有其他好处吗?

在Heroku上,“PGError:致命:由于管理员命令终止连接”的原因是什么?

我在heroku上有一个用户登录的rails应用程序。 我定期得到这个例外: UserSessionsController#(ActiveRecord :: StatementInvalid)“PGError:FATAL:由于管理员命令而终止连接\ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n意外关闭连接\ n \ t这可能意味着服务器exception终止\ n \ t \ n … … url POST http://secure.huckberry.com/user_sessions 这有什么可能的原因? 我很感激任何帮助。

如何调整在Heroku上运行的Ruby on Rails应用程序,它使用生产级Heroku Postgres?

我工作的公司决定将他们的整个堆栈移动到Heroku。 它的主要动机是易用性:没有sysAdmin,没有哭。 但我仍然有一些问题…… 我正在应用程序平台和Postgres服务上进行一些负载和压力测试。 我正在使用blitz作为Heroku的插件。 我用1到250之间的用户数攻击网站。我得到了一些非常有趣的结果,我需要帮助评估它们。 测试堆栈: 应用规格 它没有任何特别的东西。 Rails 4.0.4 独角兽 database.yml设置为连接到Heroku postgres。 不使用缓存。 数据库 这是一个标准天狗 (Heroku的命名惯例会杀了我一天:)正确连接到应用程序。 Heroku配置 我在unicorn.rb应用了所有内容,如“ 使用Unicorn部署Rails应用程序 ”一文中所述。 我有2个常规的网络动态。 WEB_CONCURRENCY : 2 DB_POOL : 5 数据 episodes表数100.000~ episode_urls表计数300.000~ episode_images表计数episode_images ~ 码 episodes_controller.rb def index @episodes = Episode.joins(:program).where(programs: {channel_id: 1}).limit(100).includes(:episode_image, :episode_urls) end episodes/index.html.erb 场景#1: Web dynos : 2 Duration : 30 seconds […]

查看项目时更新后的gitlab错误500

dpkg-query -W gitlab gitlab 7.3.2-omnibus-1 我们在Ubuntu 14.04.1 LTS上运行gitlab 6.9.2。 按照此处的说明操作后, https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/update.md 要更新到7.3.2,一切看起来都不错,但是在尝试查看项目时我们得到错误500。 每当我尝试访问其中一个页面时,我在运行sudo gitlab-ctl tail postgresql时看到此错误 ERROR: relation “users_star_projects” does not exist at character 323 STATEMENT: SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = ‘”users_star_projects”‘::regclass AND […]

具有连接和顺序的独特记录

我在User和Donations之间有一个简单的关系,即用户有很多捐赠,捐赠属于用户。 我想做的是获取最近捐赠订购的用户列表。 这是我正在尝试的: 首先,我想获得uniq用户的总数,这是按预期工作的: > User.joins(:donations).order(‘donations.created_at’).uniq.count (3.2ms) SELECT DISTINCT COUNT(DISTINCT “users”.”id”) FROM “users” INNER JOIN “donations” ON “donations”.”user_id” = “users”.”id” => 384 接下来,当我删除count方法时,出现“ORDER BY表达式必须出现在选择列表中”的错误: > User.joins(:donations).order(‘donations.created_at’).uniq User Load (0.9ms) SELECT DISTINCT “users”.* FROM “users” INNER JOIN “donations” ON “donations”.”user_id” = “users”.”id” ORDER BY donations.created_at PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in […]

Sqlite3 vs Postgres vs Mysql – Rails

我想这已经提出了很多次,但我再次提起它! 无论如何……在Ruby on Rails中,Sqlite3已经设置好了,不需要额外的拾取和切片,但是……在这里和其他地方经过多次阅读之后,有人说它不具有可扩展性,而另一些人则认为它实际上非常擅长。 有人说MySQL对于更大的项目要好得多,而另一些人则认为,只需要使用PostgreSQL。 我很想听听你对此的看法。 在两个场景中。 您正在为新闻发布网站(例如CNN新闻)开设一个小网站,以及您正在创建类似于Twitter的网站的另一个场景?

Rails和Postgres Hstore:你能在迁移中添加索引吗?

我有一个迁移,我创建了一个像这样的产品表 class CreateProducts < ActiveRecord::Migration def change create_table :products do |t| t.string :name t.hstore :data t.timestamps end end end 在activerecord-postgres-hstore页面上,他们为表添加一个索引(在SQL中) CREATE INDEX products_gin_data ON products USING GIN(data); 然而,迁移不会跟踪这种变化(我猜是因为它是Postgres特定的?),有没有办法从迁移中创建索引? 谢谢!

每当我创建一个新的rails应用程序时,如何创建Postgres用户和数据库?

我已经按照这个非常有用的教程: Setting up PostgreSQL for Ruby on Rails development on OS X 我真的想运行rails new myapp并自动设置postgres数据库。 有什么办法可以使用Rails应用程序模板或类似的东西吗?

你如何使用共享数据库在Heroku上进行GIS查询?

我有一张经纬度地理位置的经纬度表。 我希望我的数据库查询返回它们的过滤列表,按固定点的距离排序。 我探索过几个选项: Postgresql的earthdistance contrib可能最接近我的需求; 但是,我没有发现这是在heroku的数据库服务器上安装的迹象。 PostGIS是最常用的GIS解决方案,但heroku没有安装它,heroku支持证实他们不打算在不久的将来这样做。 我需要一个适用于Rails3的解决方案。 如果没有更好的选择,我将不得不实现我自己的hasrsinefunction,这肯定似乎重新发明轮子。 有更好的选择吗?

Ruby On Rails – Geocoder – 接近条件

我在我的应用程序中使用GeoCoder。 现在我需要在我的数据库中搜索接近某个位置或具有特定属性集的对象。 我想在一个数据库查询中执行此操作,因为数据库非常庞大。 我想有类似的东西 Spot.near([lat,long],distance).where(“visited = ?”,true). 距离和被访问属性应与OR组合,而不是与AND组合。 有谁知道如何做到这一点? 谢谢!