我在Heroku上使用Postgres,需要从生产数据库中转储一个表,并将其转储到暂存数据库中.我安装了heroku工具带,但不确定如何转储单个数据库表以导入到我的暂存数据库中.

推荐答案

您可以转储单个数据表,如下所示:

$ pg_dump --no-acl --no-owner -h [host ip].compute-1.amazonaws.com -U [user name] -t [table name] --data-only [database name] > table.dump

您可以通过以下方法获得所需的所有值:

$ heroku pg:credentials:url [DATABASE] -a [app_name]
Connection info string:
   "dbname=[database name] host=[host ip].compute-1.amazonaws.com port=5432 user=[user name] password=[password] sslmode=require"
Connection URL:
    postgres://[username]:[password]@[host ip].compute-1.amazonaws.com:5432/[database name]

这将提示您输入密码.输入它,然后您应该继续在本地驱动器上获取文件table.dump.

您可能希望在登台时截断表:

$ echo "truncate [table];" | heroku pg:psql [DATABASE] -a staging_app

有了这个文件,您可以使用psqla new call to 102 for the staging appConnection URL:输出,并仅恢复该表.

$ psql "[pasted postgres:// from pg:credentials:url of staging app]" < table.dump
SET
SET
...
...
...
...
$ 

Postgresql相关问答推荐

计算两个子查询之间的差异

Postgres 13.8 -如何在对数据执行窗口操作时返回所有行

Haskell仆人发布FormUrlEncode for(向量字符串)字段

包含JSONB属性的过滤器的索引策略

在Docker容器内的Postgres,如何通过Promail将JSON登录到Loki?

Docker化的PostgreSQL:FATAL:用户&postgres的密码身份验证失败

如何在Postgres中对分区表使用Hibernate验证?

自左联接的POSTGIS更新

在插入时创建一个触发器,在PostgreSQL中的另一个表上创建另一个触发器

数据库所有者无法授予 Select 权限

无法从外部连接到在 AWS EC2 实例上运行的 Postgres

使用 postgresql Select 整数作为位和状态表

消除 PostgreSQL SELECT 语句中的重复行

Java - 日期保存为前一天

SQLAlchemy 中使用什么类型存储字节字符串?

从 PostgreSQL 中的数字获取月份名称

如何只允许一个表的一行?

使用 current_setting() 判断值

POSTGRESQL 中的 CHARINDEX (SQL SERVER) 相似函数是什么?

错误:关系列不存在 PostgreSQL,无法运行插入查询