我有一个通过使用pg_dump从远程数据库生成的转储文件。我正在使用该文件来还原并使用psql填充数据库。我没有用户名和数据库名。我偷看了sql文件,找出了用户和数据库。这是我的步骤:1. psql -h <> -u <> -d(我在这里使用了超级用户)。2.创建用户,因为应用程序仅需要使用该用户进行访问。3.使用Pgadmin将数据库的所有者更改为在步骤2中创建的用户。
我无法访问任何表并出现错误-错误:表的权限被拒绝
请帮助!
谢谢
如果您使用转储和还原而不是psql来还原数据库,则更好。例如
例如,假设您在remoteDB中具有数据库dbname_source,在localDB中具有dbname_target,那么可以使用以下命令进行转储和还原
./pg_dump -U postgres -p 5432 -h <remote_IP> -Ft dbname_source > dump_of_source.sql.tar
./pg_restore -U postgres -h localhost -p 5432 -d dbname_target dump_of_source.sql.tar
公开:我为EnterpriseDB (EDB)工作