将本地postgresql复制到AWS RDS

将本地postgresql复制到AWS RDS,postgresql,amazon-rds,Postgresql,Amazon Rds,我有一个Postgesql数据库,我想将它从本地机器复制/复制到AWS RDS实例 我创建了一个转储,如下所示: pg_dump -v -U postgres mydb > mydb.dump psql -f mydb.dump -h XXXXXXXXXXXX.us-east-1.rds.amazonaws.com -p 5432 -U postgres -d mydb pg_restore -U postgres -d mydbcopy mydb.dump psql -f my.d

我有一个Postgesql数据库,我想将它从本地机器复制/复制到AWS RDS实例

我创建了一个转储,如下所示:

pg_dump -v -U postgres mydb > mydb.dump
psql -f mydb.dump -h XXXXXXXXXXXX.us-east-1.rds.amazonaws.com -p 5432 -U postgres -d mydb
pg_restore -U postgres -d mydbcopy mydb.dump
psql -f my.dump -U postgres -d mydbcopy
然后我尝试复制到我的RDS,如下所示:

pg_dump -v -U postgres mydb > mydb.dump
psql -f mydb.dump -h XXXXXXXXXXXX.us-east-1.rds.amazonaws.com -p 5432 -U postgres -d mydb
pg_restore -U postgres -d mydbcopy mydb.dump
psql -f my.dump -U postgres -d mydbcopy
但是,我得到以下错误:

psql:mydb.dump:1: error: invalid command \
psql:mydb.dump:6: ERROR:  syntax error at or near "ÿ_"
LINE 1: ÿ_-"\o""edrp\nou"tnsctme  e
        ^
然后,我尝试通过将存档复制到另一个本地数据库来排除RDS的任何问题,如下所示:

pg_dump -v -U postgres mydb > mydb.dump
psql -f mydb.dump -h XXXXXXXXXXXX.us-east-1.rds.amazonaws.com -p 5432 -U postgres -d mydb
pg_restore -U postgres -d mydbcopy mydb.dump
psql -f my.dump -U postgres -d mydbcopy
我收到一个错误:

pg_restore: error: input file does not appear to be a valid archive
我还尝试了以下方法:

pg_dump -v -U postgres mydb > mydb.dump
psql -f mydb.dump -h XXXXXXXXXXXX.us-east-1.rds.amazonaws.com -p 5432 -U postgres -d mydb
pg_restore -U postgres -d mydbcopy mydb.dump
psql -f my.dump -U postgres -d mydbcopy
并得到与之前相同的错误:

psql:mydb.dump:1: error: invalid command \
psql:mydb.dump:6: ERROR:  syntax error at or near "ÿ_"
LINE 1: ÿ_-"\o""edrp\nou"tnsctme  e
        ^
我正在使用Windows Powershell和Postgresql 13.2

我错过什么了吗


这似乎是PSQL工具的一个问题,因为即使在尝试本地复制时也会出现错误。

我现在发现,只有在从系统命令提示符而不是从Powershell运行pg_dump时,它才起作用。它还创建一个大约一半大小的转储文件。有人能详细说明Powershell在做什么吗?它看起来像是一个编码问题。