Восстановление только некоторых таблиц в Heroku Postgres через heroku pgbackups:restore

Согласно документам heroku, следующая команда восстанавливает pg_dump в Heroku База данных Постгрес:

heroku pgbackups:restore DATABASE 'https://s3.amazonaws.com/me/items/3H0q/mydb.dump'

Однако есть ли способ восстановить в базе данных только некоторые таблицы? Я пытался использовать \copy с терминала psql, используя heroku pg:psql, но это НАМНОГО медленнее, чем восстановление.

Например, я ищу способ запустить pg_restore -t my_table на героку.

Кроме того, taps у меня никогда не работало, и это не рекомендуется в ruby ​​1.9.3.


person Nicolas    schedule 20.06.2013    source источник
comment
Это решение может быть актуально для некоторых людей: stackoverflow.com /вопросы/42433414/   -  person Nah    schedule 24.02.2017


Ответы (1)


Вы можете запустить pg_restore локально, подключенный к вашему экземпляру Postgres, предоставленному Heroku. Получите учетные данные БД от

heroku config

Из ключа database_url и передать их локально в pg_restore в качестве параметров. Затем вы также сможете использовать ключ -t для восстановления вашей конкретной таблицы.

person John Beynon    schedule 20.06.2013
comment
Вы имеете в виду heroku pg:credentials DATABASE_URL? - person Nicolas; 22.06.2013
comment
Я запустил pgbackups:restore (перед всей базой данных) и сравнил с pg_restore локально, как вы предложили, и все было в порядке, но это заняло гораздо больше времени. 5 минут вместо часа. Есть ли решение, которое работает на героку? Я не могу так долго ждать (в БД › 5 миллионов строк). - person Nicolas; 22.06.2013