Em alguns cenários de desenvolvimento, não faz sentido depender de instaladores prontos — principalmente quando se precisa de versões mais recentes ou controle sobre o ambiente.
Esse é o caso do pgModeler, uma ferramenta de modelagem para PostgreSQL que pode ser compilada diretamente no Windows.
Importante: embora o pgModeler seja open-source (GPLv3), os binários oficiais são distribuídos comercialmente. A redistribuição de binários exige o cumprimento das obrigações da GPL (como disponibilização do código-fonte), o que nem sempre é viável em ambientes corporativos. Por isso, o build local costuma ser a abordagem mais adequada.
Para isso, utilizamos o MSYS2, que fornece um ambiente Unix-like com gerenciador de pacotes e toolchain moderna.
Sobre o pgModeler
O pgModeler é uma ferramenta open-source para modelagem de bancos de dados PostgreSQL, permitindo criar diagramas, gerar scripts SQL e realizar engenharia reversa de estruturas existentes.
Ele é desenvolvido em C++ com interface baseada em Qt, o que exige um processo de build específico no Windows.
Por que compilar manualmente?
Embora existam versões pré-compiladas, o build local é, na prática, a opção mais segura em ambientes controlados.
Atenção: a distribuição de binários do pgModeler não é proibida pela licença, mas implica obrigações da GPLv3 (como fornecer o código-fonte correspondente e manter a mesma licença). Além disso, os binários oficiais fazem parte do modelo comercial do projeto.
Além disso, compilar garante:
- Uso da versão mais atual
- Controle sobre dependências
- Padronização do ambiente de desenvolvimento
1) Download do MSYS2
Acesse o site oficial:
Ou diretamente:
Baixe o instalador:
msys2-x86_64-*.exe
2) Instalação
- Execute o instalador
- Mantenha o caminho padrão:
C:\msys64
- Finalize a instalação
- Feche o terminal que será aberto automaticamente
3) Primeira execução
Abra:
MSYS2 MinGW64
Atualize o sistema:
pacman -Syu
Após a execução, o terminal será fechado automaticamente.
Abra novamente o MSYS2 MinGW64 e execute:
pacman -Syu
Repita até não haver mais atualizações.
4) Instalação das dependências
Ainda no MSYS2 MinGW64, instale os pacotes necessários:
pacman -S --needed \
git \
mingw-w64-x86_64-gcc \
mingw-w64-x86_64-clang \
mingw-w64-x86_64-cmake \
mingw-w64-x86_64-ninja \
mingw-w64-x86_64-qt6-base \
mingw-w64-x86_64-qt6-svg \
mingw-w64-x86_64-qt6-tools \
mingw-w64-x86_64-postgresql \
mingw-w64-x86_64-libxml2
Observação: versões recentes do pgModeler utilizam Qt 6 + CMake + Ninja.
5) Download do código-fonte
cd ~
git clone https://github.com/nullptrlabs/pgmodeler.git
cd pgmodeler
6) Build do pgModeler
Crie o diretório de build:
mkdir build
cd build
Configuração
cmake .. \
-G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX="$HOME/pgmodeler-dist" \
-DPGM_PREFIX="$HOME/pgmodeler-dist"
Compilação
ninja
ninja install
7) Empacotamento das dependências (Qt)
Após o build, é necessário copiar automaticamente as DLLs do Qt:
cd ~/pgmodeler-dist
windeployqt6 --force-openssl pgmodeler.exe
8) Execução
./pgmodeler.exe
Considerações finais
Compilar o pgModeler utilizando o MSYS2 traz benefícios importantes para ambientes de desenvolvimento:
- Controle total das dependências e versões
- Uso de toolchain moderna (GCC/Clang + Ninja)
- Ambiente consistente com Linux
- Facilidade de atualização e troubleshooting
Para quem trabalha com PostgreSQL de forma mais profunda (modelagem, versionamento de schema, engenharia reversa), o pgModeler é uma alternativa sólida e altamente técnica.