Resolvendo o Erro de Permissão no PostgreSQL

De Wiki Integrator do Brasil
Edição feita às 17h48min de 9 de junho de 2020 por Integratorhost (disc | contribs)

(dif) ← Edição anterior | ver versão atual (dif) | Versão posterior → (dif)
Ir para: navegação, pesquisa

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.