【问题标题】:Quickest way to find out heroku database size找出heroku数据库大小的最快方法
【发布时间】:2011-05-12 08:06:26
【问题描述】:

在 Heroku 中找出我的共享数据库当前大小的最快方法是什么?

【问题讨论】:

  • 他们做到了!我希望这是一个错误,而不是新的刻意练习。

标签: ruby-on-rails postgresql heroku


【解决方案1】:

运行heroku info 显示:

Data size:      480k
Addons:         Basic Logging, Shared Database 5MB

数据大小为共享数据库的大小,这里限制为5MB。

【讨论】:

  • 对,但这是数据库的最大大小。关键是我想看看我离这个数字有多近。
  • 目前它显示Data size:行和数据库的实际大小
  • 没错;它一定已经改变了。也许应该编辑这个答案以反映属性的正确名称?
  • 这似乎不再起作用,请参阅@Josh 的答案:stackoverflow.com/a/4350733/1252307
【解决方案2】:

来自 nate c 发布的同一文档页面:

heroku pg:info

这似乎只在您不使用共享数据库,而是使用 PG 作为附加组件时才有效

另外,请确保您的 heroku gem 是最新的:

sudo gem update heroku

关于如何查看共享数据库大小的任何想法?我只是做了一个 heroku db:pull 然后 mysqldump 并查看了文件大小,认为这是一个很好的粗略估计。

【讨论】:

  • 它适用于我们的共享数据库:数据大小 17.1MB,与heroku info 命令返回的信息相同。
【解决方案3】:

新的方式好像是:

heroku pg:info -a myapp

你会看到类似的东西:

=== HEROKU_POSTGRESQL_PURPLE_URL (DATABASE_URL)
Plan:        Dev
Status:      available
Connections: 1
PG Version:  9.1.5
Created:     2012-10-19 01:27 UTC
Data Size:   12.1 MB
Tables:      31
Rows:        36068/10000 (Above limits, access disruption imminent)
Fork/Follow: Unavailable

【讨论】:

    【解决方案4】:

    根据 Nate 的回答:

    对于共享数据库,无需在本地计算机上安装 Postgres

    heroku console
    
    ActiveRecord::Base.connection.execute("SELECT pg_size_pretty(pg_database_size('postgres'))").first
    

    'postgres' 是我的共享数据库的名称,当我输入 template0 或 template1 时,我会得到相同的数字。

    【讨论】:

    • 这是我一直在寻找的答案...谢谢!,在生产中我得到了这个错误:ActiveRecord::StatementInvalid: PGError: ERROR: permission denied for database postgres: SELECT pg_size_pretty(pg_database_size( 'postgres'))
    • 有一个名为 current_database() 的函数将返回您实际连接的任何数据库的名称。因此,查询“SELECT pg_size_pretty(pg_database_size(current_database()))”将为您连接的任何数据库返回一个值,这可能是您关心的数据库。
    【解决方案5】:

    您可以直接登录到 Posgtgresql。

    输入heroku pg:psql

    但你的本地系统上也必须有 postgres,这样你才能使用pgsql(这是 pg 的命令行界面)

    如果您不知道数据库名称是什么,则键入\l in pgsql 以列出数据库。 (postgres、template0 和 template1 在每次安装时都是系统数据库。)

    然后 SELECT pg_size_pretty(pg_database_size('dbname'));

    【讨论】:

    • 我该怎么称呼它?从 Heroku 控制台?
    • 来自他们的文档docs.heroku.com/…heroku pg:psql
    • 忽略上面(编辑超时)从他们的文档docs.heroku.com/… 然后输入:'heroku pg:psql'。但是你必须在你的本地系统上也有 postgres,这样你才能使用'pgsql'(这是 pg 的命令行界面。)如果你不知道 db 名称是什么,那么在 pgsql 中键入 \l 以列出数据库。 (postgres、template0 和 template1 在每次安装时都是系统数据库。)
    • 太好了,谢谢!也许您可以将该评论编辑为其他人的主要答案?
    【解决方案6】:

    在 heroku postgres 面板中,您可以看到所有内容 https://postgres.heroku.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      相关资源
      最近更新 更多