Postgres:将记录从本地数据库移动到远程数据库

时间:2018-08-04 09:41:08

标签: postgresql

背景信息

我正在编写一个用PostgreSQL作为后端数据库的ASP.NET Core 2.1.0编写的应用程序。我正在使用EF Core作为ORM。

该应用程序具有身份验证/授权需求,因此在我的应用程序启动时,我正在使用管理员用户帐户播种数据库。在本地,一切正常。

我现在希望将应用程序部署到服务器。我已经部署了代码,并且已经使用EF Core的迁移命令来获取用于在远程数据库上创建表的脚本。情况也很好。

现在的问题是种子数据。我不知道将种子数据移至生产数据库的最佳方法是什么。

到目前为止我做了什么?

通过pgAdmin,我创建了数据库中记录的普通备份。这是我所做的screencast of exactly how,我不确定这是否正确,但是生成的脚本“看起来不错”。

然后我通过SSH登录到生产服务器,并将用户切换到postgres用户,并运行以下命令:

psql -f phoneden-data.sql "Phoneden-Db-C3del"

这似乎可行,我运行了以下select语句,然后可以看到我的记录:

SELECT * FROM "AspNetUsers";

我的记录已经存在,但是当我尝试以管理员用户身份登录时,我不能,它说它无法验证我的登录详细信息。

所以我将数据从本地Db移至生产Db的方式有些问题。

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

原来是权限问题。 Postgres数据库的所有者拥有0个特权,在授予了所需的各种特权之后,所有特权都开始起作用。

相关问题