Integração com o PostgreSQL
1. Acessar o PostgreSQL como usuário padrão
2. Criar o banco de dados do Nexus
3. Conectar ao banco criado
4. Criar o schema utilizado pelo Nexus
5. Criar o usuário dedicado do Nexus
6. Conceder privilégios ao usuário
7. Instalar extensão necessária
Encerrar o PostgreSQL:
Configuração no Nexus
8. Criar diretório de configuração (store properties)
sudo mkdir -p /opt/sonatype/sonatype-work/nexus3/etc/fabric
cd /opt/sonatype/sonatype-work/nexus3/etc/fabric
touch nexus-store.properties
9. Criar o arquivo nexus-store.properties
sudo tee /opt/sonatype/sonatype-work/nexus3/etc/fabric/nexus-store.properties > /dev/null <<EOF
username=nexus
password=xmart@1234
jdbcUrl=jdbc:postgresql://localhost:5432/nexus?currentSchema=nexus
EOF
10. Reiniciar o Nexus Repository
10.1. Entre no diretório de execução:
10.2. Execute o serviço:
- Ou
./nexus stopcaso precise reiniciar completamente
É recomendado reiniciar o Nexus com o serviço parado para garantir leitura correta das configurações.
Validações
11. Validar nos logs se o PostgreSQL está sendo utilizado
sudo -u nexus grep -i "postgres" /opt/sonatype/sonatype-work/nexus3/log/nexus.log
sudo -u nexus grep -i "jdbc" /opt/sonatype/sonatype-work/nexus3/log/nexus.log
12. Validar via interface gráfica
12.1. Acesse:
Administration → Data Store
12.2. A configuração deve exibir:
-
JDBC URL:
jdbc:postgresql://localhost:5432/nexus?currentSchema=nexus -
Username:
nexus
Verificações adicionais após iniciar o Nexus
Rode o seguinte comando:
Confirme que as tabelas foram criadas no banco.
Verificar se o schema existe
sudo -u postgres psql -d nexus -c "SELECT schema_name FROM information_schema.schemata WHERE schema_name='nexus';"
Contar o número total de tabelas criadas (entre 170 e 200)
sudo -u postgres psql -d nexus -c "SELECT COUNT(*) AS total_tabelas FROM information_schema.tables WHERE table_schema='nexus';"
Listar as 20 primeiras tabelas
sudo -u postgres psql -d nexus -c "SELECT table_name FROM information_schema.tables WHERE table_schema='nexus' ORDER BY table_name LIMIT 20;"
Validar criação de tabelas essenciais (prova definitiva de migração correta)