Estou enfrentando um problema ao restaurar um dump de banco de dados PostgreSQL 15. Durante o processo de restauração, encontro os seguintes erros:
ERROR: trailing junk after numeric literal at or near "..."
ERROR: invalid command \N
ERROR: invalid command \N
.
.
.
ERROR: out of memory
O erro ocorre após o processamento dos UUIDs no arquivo de despejo. Parece que os UUIDs estão sendo interpretados incorretamente, possivelmente como literais numéricos, o que causa problemas subsequentes com comandos inválidos como \N, levando a um erro de falta de memória.
Aqui está o comando que estou usando para criar o dump:
pg_dump -h <host> -p 5432 -U <username> <dbname> > new.dump
E o comando de restauração:
psql postgresql://<user>:<password>@<host>/<dbname> < new.dump
Alguém poderia aconselhar sobre a melhor maneira de criar um arquivo de despejo que manipule corretamente UUIDs durante o processo de restauração para evitar esses problemas? Especificamente, quero garantir que UUIDs sejam tratados como UUIDs e não interpretados como literais numéricos, o que leva a comandos inválidos e erro de falta de memória.
Qualquer ajuda ou melhores práticas seriam muito apreciadas!
Obrigado!
Informações adicionais:
Estou restaurando para uma instância do PostgreSQL 15.
SO e versão: Debian 12
pg_dump -V retorna:
pg_dump (Postgresql) 16.2