Como conectar banco de dados PostgreSQL em Python?

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Conexão com banco de dados PostgreSQL em Python: guia completo para desenvolvedores

Trabalhar com bancos de dados é uma parte essencial de qualquer projeto de software moderno. O PostgreSQL é um dos SGBDs relacionais mais populares, conhecido por sua confiabilidade, alto desempenho e rico conjunto de funcionalidades.

Neste artigo, vamos detalhar como conectar um banco de dados PostgreSQL em Python, manipular dados com SELECT e DELETE, e explorar o uso da biblioteca psycopg2 com exemplos práticos. Também abordaremos o SQLite e suas diferenças em relação ao PostgreSQL.

Vantagens do PostgreSQL para desenvolvedores

O PostgreSQL é amplamente adotado por desenvolvedores devido às seguintes características:

  • Suporte a consultas SQL complexas e tipos de dados avançados
  • Alta confiabilidade e segurança dos dados
  • Suporte a transações, índices, triggers e views
  • Excelente escalabilidade para projetos de grande porte
  • Código aberto e comunidade ativa

O PostgreSQL também oferece suporte a dados JSON, arrays, tipos de dados personalizados e diversas extensões, tornando-o uma solução versátil para diferentes necessidades.

Instalação do PostgreSQL e configuração do ambiente

Instalação do PostgreSQL em diferentes sistemas operacionais

Windows: Baixe o instalador do site oficial do PostgreSQL e siga as instruções do assistente de instalação.

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install postgresql postgresql-contrib

macOS:

brew install postgresql

Criação de banco de dados e usuário

Após instalar o PostgreSQL, crie um banco de dados e um usuário para trabalhar:

CREATE DATABASE my_database;
CREATE USER my_user WITH PASSWORD 'my_password';
GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;

Configuração de acesso ao banco de dados

Para garantir uma conexão segura, recomenda-se:

  • Configurar o arquivo pg_hba.conf para gerenciar o acesso
  • Definir senhas fortes para os usuários
  • Usar conexões SSL para acesso remoto
  • Restringir o acesso à rede através do firewall

Conexão ao PostgreSQL a partir do Python

Instalação e configuração do psycopg2

Para trabalhar com PostgreSQL em Python, a biblioteca mais utilizada é o psycopg2. Instale-a via pip:

pip install psycopg2

Se houver problemas de compilação, use a versão binária:

pip install psycopg2-binary

Conexão básica ao banco de dados

import psycopg2

try:
    connection = psycopg2.connect(
        database="my_database",
        user="my_user",
        password="my_password",
        host="localhost",
        port="5432"
    )
    print("Conexão estabelecida com sucesso!")
except Exception as e:
    print(f"Erro ao conectar: {e}")
finally:
    if connection:
        connection.close()
        print("Conexão encerrada.")

Uso do gerenciador de contexto

Para gerenciar a conexão automaticamente, recomenda-se usar o gerenciador de contexto:

import psycopg2

with psycopg2.connect(
    database="my_database",
    user="my_user",
    password="my_password",
    host="localhost",
    port="5432"
) as connection:
    cursor = connection.cursor()
    cursor.execute("SELECT version();")
    version = cursor.fetchone()
    print(f"Versão do PostgreSQL: {version}")

Executando consultas SQL no PostgreSQL

Executando consultas SELECT


                    

Blogs

Book Recommendations