8

我可以使用 pg:transfer 将我的数据库从本地机器推送到我的 heroku 应用程序,如下所示:

heroku pg:transfer --from postgres://localhost/idx_map_development --to aqua

但是我不想上传整个数据库,我只想上传属性表,这可以使用 pg:transfer 吗?如果是这样,上面的行看起来如何?

4

3 回答 3

13

用 pg_dump 做到了:

pg_dump -Fc --no-acl --no-owner -h localhost -U username -t properties idx_map_development > properties.dump

名为 properties.dump 的文件仅获取属性表的数据,我将文件上传到 Amazon S3 存储桶,然后可以使用以下命令将其推送到 heroku:

heroku pgbackups:restore DATABASE 'https://s3.amazonaws.com/bucket_name/properties.dump'

我的 heroku db 上的其他表不受影响。您无需在pgbackups:restore命令中指定属性表。

于 2013-06-04T17:30:07.767 回答
3

正如@eugjill 所提到的,这不再起作用了。所以首先你做转储,如@railsy所述:

pg_dump -Fc --no-acl --no-owner -h localhost -U username -t properties idx_map_development > properties.dump

然后不要使用 pgbackups,而是使用 pg_restore:

PGPASSWORD=<PASSWORD> pg_restore --verbose --no-acl --no-owner -h <HOST> -U <USER> -d <DATABASE> -p <PORT> properties.dump
于 2016-04-01T00:40:16.477 回答
0

上面的 pg_dump 也对我有用;虽然我需要描述的所有选项。

我有两张桌子;一个用户表和一个事务表。

pg_dump -t transactions db/development > transactions_clobber.bak

当我从这里恢复过来时;用户表丢失。

pg_dump -Fc --no-acl --no-owner -t transactions db/development > transactions_works.bak

像宣传的那样工作。

于 2014-07-20T06:40:26.087 回答