Heroku: как я могу остановить исчезновение моих баз данных Postgres через несколько минут?

Вчера я загрузил приложение Rails 5 с несколькими базами данных в Heroku. У меня есть надстройка postgres для разработчиков. Сегодня утром я успешно импортировал свои 7 баз данных Postgres, используя резервные копии pg_dump, созданные в соответствии с документацией Heroku.

PGPASSWORD=mypassword pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump

heroku pg:backups:restore 'https://s3.amazonaws.com/me/items/3H0q/mydb.dump' HEROKU_POSTGRESQL_COLOR_URL

Я несколько раз импортировал эти базы данных, потому что через несколько минут они исчезали. Я запустил свое приложение Heroku, и первая база данных была успешно доступна, но к тому времени, когда я попытался получить доступ ко второй, я получил сообщение «отношение« xxxx »не существует». Когда я вернулся в свое хранилище данных, баз данных уже не было. Когда я попытался запустить свое приложение во второй раз, я получил «отношение« xxxx »не существует» в первой таблице, к которой я успешно получил доступ в предыдущий раз, когда я запускал свое приложение.

Когда я смотрю на хранилище данных для базы данных, я не вижу никаких ошибок. Они просто исчезают. Я проверил, есть ли ограничение на количество баз данных, которое я мог бы иметь с помощью hobby-dev, но не увидел ни одного. Количество строк меньше 10 000. Каждый раз, когда я импортирую файлы pg_dump, я получаю письмо с предупреждением о количестве строк.

ОБНОВЛЕНИЕ 17.02.2017, 10:42. Центральное: единственное, что я нашел до сих пор, - это несколько сообщений, в которых говорится, что файловая система Heroku эфемерна и не сохраняется между перезапусками дино. Если это моя проблема:

  1. Как я узнаю о перезапуске дино, если я его не перезапускаю? Я не перезапускал свое приложение, когда мои базы данных исчезли.
  2. Как я могу постоянно хранить свои базы данных с помощью надстройки Postgres или мне нужно хранить свои базы данных в другом месте? Конечно, у надстройки есть способ постоянного хранения баз данных.

person Pamela Cook - LightBe Corp    schedule 17.02.2017    source источник
comment
Я предполагаю, что вы используете предложение Heroku PostgreSQL (вместо того, чтобы пытаться настроить его самостоятельно). В этом случае вас не должна беспокоить эфемерная природа файловых систем dyno. Я рекомендую вам сначала создать семь (пустых) баз данных и посмотреть, исчезнут они или нет. Вы можете создать единую базу данных с heroku addons:create heroku-postgresql:hobby-dev. После каждого вызова запускайте heroku pg:wait, чтобы дождаться подготовки базы данных. Если базы данных не исчезают, попробуйте восстановить свои резервные копии.   -  person Greg Navis    schedule 18.02.2017
comment
@GregNavis, да, я. Я так привык использовать postgres.app, где занимаюсь вещами на уровне сервера. Теперь я понимаю, как работает надстройка Heroku PostgreSQL. Я сделаю это и опубликую свои результаты.   -  person Pamela Cook - LightBe Corp    schedule 18.02.2017
comment
@GregNavis, пожалуйста, оставьте свой комментарий в качестве ответа, и я его проверю.   -  person Pamela Cook - LightBe Corp    schedule 18.02.2017
comment
Выполнено. Спасибо, Памела. Я ценю это.   -  person Greg Navis    schedule 20.02.2017


Ответы (1)


Я предполагаю, что вы используете предложение Heroku PostgreSQL (вместо того, чтобы пытаться настроить его самостоятельно). В этом случае вас не должна беспокоить эфемерная природа файловых систем dyno.

Я рекомендую вам сначала создать семь (пустых) баз данных и посмотреть, исчезнут они или нет. Вы можете создать единую базу данных с

heroku addons:create heroku-postgresql:hobby-dev

После каждого вызова запускайте heroku pg:wait, чтобы дождаться подготовки базы данных. Если базы данных не исчезают, попробуйте восстановить свои резервные копии.

person Greg Navis    schedule 20.02.2017
comment
Я настолько привык работать с postgres на уровне сервера, что пытался загрузить все семь баз данных в одну надстройку, думая, что надстройка была сервером. Я создал семь надстроек и восстановил их из своих резервных копий. Они работают нормально. Спасибо! - person Pamela Cook - LightBe Corp; 20.02.2017