我在恢复 PostgreSQL 15 数据库转储时遇到问题。在恢复过程中,我遇到以下错误:
ERROR: trailing junk after numeric literal at or near "..."
ERROR: invalid command \N
ERROR: invalid command \N
.
.
.
ERROR: out of memory
处理转储文件中的 UUID 后出现错误。看来 UUID 被错误地解释,可能是被解释为数字文字,这导致后续出现无效命令(如 \N)的问题,从而导致内存不足错误。
这是我用来创建转储的命令:
pg_dump -h <host> -p 5432 -U <username> <dbname> > new.dump
恢复命令:
psql postgresql://<user>:<password>@<host>/<dbname> < new.dump
有人能建议在恢复过程中创建正确处理 UUID 的转储文件的最佳方法,以避免这些问题吗?具体来说,我想确保 UUID 被视为 UUID,而不是被解释为数字文字,这会导致无效命令和内存不足错误。
任何帮助或最佳实践都将不胜感激!
谢谢!
附加信息:
我正在恢复到 PostgreSQL 15 实例。
操作系统和版本:Debian 12
pg_dump -V 返回:
pg_dump (Postgresql) 16.2