📜  本地 pg_sql 到 heroku pg_sql (1)

📅  最后修改于: 2023-12-03 15:40:19.385000             🧑  作者: Mango

本地 pg_sql 到 heroku pg_sql

介绍

本文将向程序员介绍如何将本地的 PostgreSQL 数据库连接到 Heroku 的 PostgreSQL 服务,并进行数据迁移。我们将涵盖以下内容:

  1. 如何在 Heroku 上创建 PostgreSQL 服务
  2. 如何从 Heroku 获取数据库 URL
  3. 如何在本地使用 pg_dump 进行备份
  4. 如何使用 pg_restore 将数据恢复到 Heroku
步骤
步骤 1:创建 Heroku PostgreSQL 服务

首先,我们需要在 Heroku 上创建一个 PostgreSQL 服务。我们可以通过 Heroku CLI 命令行工具来完成这个任务。在终端中输入以下命令:

heroku addons:create heroku-postgresql

这个命令将创建一个新的 PostgreSQL 数据库实例,并将其绑定到你的 Heroku 应用程序。你可以通过在 Heroku 控制面板中选择你的应用程序,然后选择 “Resources” 选项卡,找到你的 PostgreSQL 实例来查看它。

步骤 2:获取数据库 URL

现在我们需要获取 Heroku PostgreSQL 数据库的 URL。在终端中输入以下命令:

heroku config:get DATABASE_URL

此命令将返回 Heroku PostgreSQL 数据库的 URL。

步骤 3:备份本地数据库

我们现在需要备份本地 PostgreSQL 数据库。在终端中输入以下命令:

pg_dump -U <用户名> -h <主机名> <数据库名> > backup.sql

其中,“<用户名>” 为连接本地 PostgreSQL 数据库的用户名,“<主机名>” 为本地 PostgreSQL 数据库的主机名,“<数据库名>” 为备份的数据库名,“backup.sql” 为备份文件的名称和路径。

步骤 4:将数据恢复到 Heroku

我们现在需要将备份的数据库恢复到 Heroku PostgreSQL 数据库中。在终端中输入以下命令:

PGPASSWORD=<密码> pg_restore --verbose --clean --no-acl --no-owner -h <主机名> -U <用户名> -d <数据库名> backup.sql

其中,“<密码>” 为 Heroku PostgreSQL 数据库的密码,“<主机名>” 为 Heroku PostgreSQL 数据库的主机名,“<数据库名>” 为恢复的数据库名,“backup.sql” 为备份文件的名称和路径。

结论

本文向程序员介绍了如何将本地 PostgreSQL 数据库连接到 Heroku 的 PostgreSQL 服务,并进行数据迁移。我们介绍了如何在 Heroku 上创建 PostgreSQL 服务,如何获取 Heroku PostgreSQL 数据库的 URL,如何备份本地数据库,并如何将备份的数据库恢复到 Heroku PostgreSQL 数据库中。如果您有任何问题或疑问,请随时联系 Heroku 支持。