Postgresql - Backup e Restore problemáticos

Olá, amigos!

Acho que preciso de um especialista em PGSQL, pra resolver isso.

Já pesquisei demais (inclusive aqui no fórum) e tentei de tudo, mas não está funcionando.

A primeira pergunta é: EXISTE UMA MANEIRA SIMPLES E DEFINITIVA DE FAZER BACKUP E RESTORE DE UM BD POSTGRES, SEM QUE ELE DÊ PROBLEMA?.

O fato é que, sempre que tento fazer essa operação, existe algum tipo de erro.

Já tentei através do PGADMIN 4 e através do pg_dump e pg_restore. Sempre ocorrem erros.

Vou me atentar ao último erro:
faço backup do de um banco, no postgresql 12 e tento restaurar em um outro banco postgresql 12. Ele cria as tabelas, faz os inserts, MAS NÃO CONSEGUE CRIAR AS CONSTRAINTS . Abaixo, a linha de código que gera o erro:

ALTER TABLE public.tblmaqpecas ALTER COLUMN cod ADD GENERATED BY DEFAULT AS IDENTITY (
SEQUENCE NAME public.acessorios_gmg_cod_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1
);

De acordo com o PGSQL, ele NÃO RECONHECE o comando “ADD”, contido na linha acima. Mas, oras, esse comando FOI INSERIDO NO ARQUIVO DE BACKUP PELO PRÓPRIO PGSQL!!! Como ele não aceita???

Abaixo, o erro gerado:

ERROR: syntax error at or near "ADD" LINE 102: ALTER TABLE public.tblmaqpecas ALTER COLUMN cod ADD GENERATE...

SQL state: 42601

Character: 3996



Enfim… Existe algum sábio do PGSQL que possa me ajudar com isso?

Agradeço, até o fim da minha vida.

Olá, estou com o mesmo problema… porém um fato curioso… tem uma tabela com esse propriedade GENERATED ALWAYS AS que passa sem problemas… mas outra que também possui que não passa… e elas não tem diferença na estrutura…
Esse passo…
uar_qtd_sld numeric(12,3) NOT NULL GENERATED ALWAYS AS ((uar_qtd - uar_qtd_reserva)) STORED,

Mas esse não…
pvi_valor_iva numeric(12,3) NOT NULL GENERATED ALWAYS AS (((((pvi_valor + ((pvi_valor * pvi_iva) / (100)::numeric)) * est_icms) / (100)::numeric) - ((pvi_valor * est_icms) / (100)::numeric))) STORED,