2014-03-05 5 views
4

У меня был Write access revoked в моем проекте heroku dev, так как у меня было слишком много строк в моем db.Heroku PG: Recover Запись на запись отменена

Вот результат у меня есть:

$ heroku pg:info 
=== HEROKU_POSTGRESQL_WHITE_URL (DATABASE_URL) 
Plan:  Dev 
Status:  available 
Connections: 1 
PG Version: 9.2.7 
Created:  2013-06-21 13:24 UTC 
Data Size: 12.0 MB 
Tables:  48 
Rows:  10564/10000 (Write access revoked) - refreshing 
Fork/Follow: Unsupported 
Rollback: Unsupported 
Region:  Europe 

С тех пор, я удалил половину строк, так как они были созданы с помощью сценария, который выродился, и я в своей среде разработки. Я проверил в pgadmin и в консоли rails, и кажется, что строки фактически удалены.

Как восстановить write access в моей базе данных? Я не хочу обновляться, так как мне это не нужно. Ждал уже 2 часа, ничего не изменилось.

Я прочитал heroku pg:info не обновляется очень быстро, но что я могу сделать тогда?

Спасибо за поддержку

ответ

9

Для начинающих ярусе (сейчас Hobby уровня), статистика по кол-ву строк, счетчик таблицы и размер базы данных рассчитываются и обновляются периодически фоновыми рабочими. Они могут отставать на несколько минут, но обычно не более 5 или 10.

После того, как вы очистили данные, чтобы получить ограничение по своим строкам, может потребоваться 5-10 минут для естественного восстановления записи. Обычно вы можете ускорить этот процесс, запустив pg:info, что должно вызвать обновление (таким образом, вы видите refreshing выше).

2 часа не ожидается. Если вы по-прежнему заблокированы, и вы будете уверены, что вы находитесь под количество строк, пожалуйста, откройте билет на help.heroku.com

+0

Может быть, там был какой-то неожиданной задержки или, может быть, я должен был бежать 'пг: info' дважды, но теперь он вернулся. :) Спасибо за поддержку и точный ответ! –

+0

В соответствии с [этой статьей KB] (https://kb.heroku.com/write-access-revoked-on-postgres-hobby-databases) может потребоваться несколько часов вместо минут, чтобы доступ к записи был естественным образом восстановлен. – Tijmen

0

Согласно Heroku документации: https://devcenter.heroku.com/articles/heroku-postgres-plans#row-limit-enforcement

Когда вы за пределами хобби уровня строк и попробуйте вставить, вы увидите сообщение об ошибке Postgres:

permission denied for relation <table name> 

Пределы строке планов базы данных хобби уровня принуждения к исполнению со следующим механизмом:

  1. Когда база данных хобби-dev попадает в 7000 строк, или базовая база хобби занимает 7 миллионов строк, владелец получает предупреждающее письмо, в котором говорится, что они приближаются к своим строкам.

  2. Когда база данных превышает пропускную способность строки, владелец получит дополнительное уведомление. На этом этапе база данных получит 7-дневный льготный период, чтобы либо уменьшить количество записей, либо перейти на другой план.

  3. Если количество строк по-прежнему превышает пропускную способность плана через 7 дней, привилегии INSERT будут аннулированы в базе данных. Данные все еще можно читать, обновлять или удалять из базы данных. Это гарантирует, что пользователи все еще имеют возможность привести свою базу данных в соответствие и сохранить доступ к своим данным.

  4. После того, как количество строк снова соответствует лимиту плана, привилегии INSERT автоматически восстанавливаются в базе данных. Обратите внимание, что размеры базы данных проверяются асинхронно, поэтому для восстановления привилегий может потребоваться несколько минут.

Таким образом, вы, скорее всего, придется обновить ваш план DB

+0

Связанный KB https://help.heroku.com/JIFZYOSR/write-access-revoked-on-postgres-hobby-databases – DJSampat

Смежные вопросы