Giter Site home page Giter Site logo

Comments (2)

jabguimaraes avatar jabguimaraes commented on June 10, 2024 1

Certo, obrigado.

from academia-digital.

cami-la avatar cami-la commented on June 10, 2024

Oi, @jabguimaraes. Tudo bem sim e por aí? :)
Seguinte, você criou um usuário com o nome cami e senha root no seu postgreSQL?

Por exemplo, nesta máquina que estou agora, eu tenho o postgresSQL instalado, porém não tem o usuário cami:

psql -U cami postgres

  1. psql = É um cliente no modo terminal do PostgreSQL
  2. -U = usuário
  3. cami = nome do usuário
  4. postgres = banco de dados que o próprio postegreSQL cria quando nós instalamos

Screenshot from 2022-05-11 06-03-47

Também não estou conseguindo entrar com o usuário postgres. Vou te explicar o porquê:

Screenshot from 2022-05-11 06-24-03

O método de autenticação peer funciona obtendo o nome de usuário do sistema operacional do cliente do kernel (que no meu caso é camila) e usando-o como o nome de usuário do banco de dados permitido (com mapeamento opcional de nome de usuário). Este método é suportado apenas em conexões locais.
Logo eu não consigo entrar, já que camila !== postgres
https://www.postgresql.org/docs/current/auth-peer.html

Entao, há algumas soluções para resolver esse "problema". Escolhi criar um novo usuário e com o método de autenticação para md5:

O método md5 usa um mecanismo de desafio-resposta personalizado menos seguro. Ele evita a detecção de senhas e evita o armazenamento de senhas no servidor em texto simples, mas não oferece proteção se um invasor conseguir roubar o hash de senha do servidor. Além disso, o algoritmo de hash MD5 hoje não é mais considerado seguro contra determinados ataques.
https://www.postgresql.org/docs/14/auth-password.html

CONFIGURAÇÃO DO POSTGRESQL NO UBUNTU

  1. Veja a versão do seu postegreSQL (No meu caso, tenho o 14 e o 13): ls /etc/postgresql
    Screenshot from 2022-05-11 06-46-42
  2. Crie o caminho /etc/postgresql/[VERSION]/main/pg_hba.conf e abra o arquivo pg_hba.conf em um editor de texto qualquer. No meu caso, irei utilizar o nano.
    Screenshot from 2022-05-11 06-50-56
    Screenshot from 2022-05-11 06-52-45
  3. Faça o mesmo passo anteirior com a outra versão que você tiver
  4. Vá até o final do arquivo e encontre a opção: Database administrative login by Unix domain socket
  5. Agora, crie um usuário com o mesmo nome do usuário da máquina (no meu caso camila) e com o usuário que você quer criar (escolhi cami) e no método de autenticação, escolha a opção md5.
    Screenshot from 2022-05-11 06-57-41
  6. Se estiver usando o nano Ctrl + O para salvar as modificações e Ctrl + X para fechar o arquivo.
  7. Próximo passo agora é reiniciar o serviço do postgreSQL: sudo systemctl restart postgresql
  8. Agora vamos criar uma senha para o usuário cami e camila
  9. Mude o usuário do sistema para postgres (esse usuário foi criado automaticamente quando você instalou o PostegreSQL na sua máquina): sudo -i -u postgres
    Screenshot from 2022-05-11 07-04-11
  10. Lembra que esse usuário tem a permissão peer? E que agora o nome do usário do sistema é igual ao nome do usuário do banco de dados (Confira essa informação na imagem do tópico 4).
  11. Agora vamos criar o usuário cami e escolher uma senha: createuser -dPs cami (Faça o mesmo com o usuário camila e também pesquise sobre as roles que acabei de atribuir com -dPs)
    Screenshot from 2022-05-11 07-10-58
  12. Agora sim, eu consigo entrar no postgreSQL com o usuário cami ou camila ou qualquer outro que eu criar.
    Screenshot from 2022-05-11 07-16-28
  13. Veja os usuários que nós temos: \du; (Para sair da visualiação q)
    Screenshot from 2022-05-11 07-19-03
  14. Agora vamos criar o banco de dados academia e conferir se foi criado: create database academia;
    Screenshot from 2022-05-11 07-21-43
  15. Troque para o banco de dados academia: \c academia;
    Screenshot from 2022-05-11 07-23-11

Agora sim, você consegue conectar sua aplicação Spring Boot com banco de dados.

from academia-digital.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.