Resolvendo o Erro de Permissão no PostgreSQL
Se você criou tabelas, ou outros objetos, através do aplicativo Java, usando JPA, Hibernate ou JDBC diretamente, e não usou o usuário do cPanel/FTP, deve realizar os passos abaixo para resolver:
1. Faça um backup via SSH usando o mesmo owner que criou as tabelas, mas retirando-o do backup. O comando que deve ser realizado:
pg_dump -i BANCO_DE_DADOS>ARQUIVO_BKP.sql -U USUARIO --no-owner
Onde temos:
BANCO_DE_DADOS - nome do seu banco de dados
ARQUIVO_BKP.sql - nome do arquivo de backup do banco de dados completo USUARIO - o usuário que utilizou para gerar as tabelas/objetos pelo seu aplicativo
2. Suba o backup em um segundo banco de dados criado no cPanel usando o owner do cPanel. O comando que deve ser realizado:
psql BANCO_DE_DADOS_NOVO<ARQUIVO_BKP.sql -U USUARIO_CPANEL USUARIO_CPANEL - use o usuário do cPanel neste caso
3. Confira tudo, veja se está ok com o owner e se consegue manipular pelo phpPgAdmin
4. Pare o serviço Java caso ele esteja conectando ao banco de dados que está com problemas
5. Remova o banco de dados com problema através do cPanel.
6. Recrie novamente o mesmo banco de dados removido pelo cPanel,
7. Suba via SSH o backup no banco de dados que foi removido e recriado
psql BANCO_DE_DADOS<ARQUIVO_BKP.sql -U USUARIO_CPANEL
8. Mude a sua conexão com banco de dados, se usar o Hibernate/JPA para criar objetos, usando o usuário do cPanel
9. Suba o aplicativo Java com a conexão alterada e refaça o deploy do seu aplicativo para obter a conexão correta da próxima vez que operar, iniciando o servidor Java novamente.