Conectar a PostgreSQL con cloudflared en Windows, macOS y Linux
Tu base de PosternDB no abre puertos a internet: se publica detrás de Cloudflare. Para usarla desde tu computadora instalas cloudflared, un programa gratuito que abre un puente seguro, y tu aplicación se conecta a localhost. Se hace una sola vez.
1. Instalar cloudflared
Todas las descargas oficiales están en la documentación de Cloudflare y en GitHub.
Windows
Abre PowerShell (botón Inicio, escribe “PowerShell” y Enter) y ejecuta:
winget install --id Cloudflare.cloudflaredSi no tienes winget, descarga el instalador cloudflared-windows-amd64.msi desde GitHub y ábrelo. Al terminar, cierra PowerShell y ábrelo de nuevo.
macOS
Abre Terminal y, con Homebrew instalado, ejecuta:
brew install cloudflaredSin Homebrew, descarga cloudflared-darwin-amd64.tgz (Mac Intel) o cloudflared-darwin-arm64.tgz (Apple Silicon), descomprímelo y mueve el programa a una carpeta del PATH:
sudo mv cloudflared /usr/local/bin/Linux
Para Debian, Ubuntu o Raspberry Pi:
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.debEn equipos ARM cambia amd64 por arm64. Para Fedora, CentOS o RHEL:
curl -L --output cloudflared.rpm https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
sudo rpm -i cloudflared.rpmPara cualquier otra distribución, instala el binario:
curl -L --output cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
chmod +x cloudflared
sudo mv cloudflared /usr/local/bin/2. Comprobar la instalación y el PATH
En una terminal nueva escribe:
cloudflared --versionDebe mostrar un número de versión. Si responde que no reconoce el comando, tu sistema no sabe dónde quedó el programa: hay que agregar su carpeta al PATH, la lista de carpetas donde busca programas.
PATH en Windows
El instalador deja el programa normalmente en C:\Program Files (x86)\cloudflared. En PowerShell, agrégalo y luego ciérralo y ábrelo otra vez:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files (x86)\cloudflared", "User")También puedes hacerlo con ventanas: presiona Windows + R, escribe sysdm.cpl y Enter, entra a Opciones avanzadas → Variables de entorno, selecciona Path en “Variables de usuario” → Editar → Nuevo, pega la carpeta y acepta en las tres ventanas.
PATH en macOS
Si la Terminal responde command not found y usas un Mac con chip Apple, Homebrew vive en /opt/homebrew/bin:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
source ~/.zprofilePATH en Linux
/usr/local/bin ya suele estar en el PATH. Si dejaste el programa en ~/bin:
echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcSi usas zsh, escribe en ~/.zshrc.
3. Abrir el puente
Con la dirección de tu base (la ves al crearla y en su pestaña Conexión), ejecuta este comando y deja esa ventana abierta mientras uses la base:
cloudflared access tcp --hostname k7x9qa-tienda.posterndb.com --url localhost:5432Verás un mensaje como Start Websocket listener. Ahora tu base responde en localhost:5432 de tu computadora. Si ya tienes otro PostgreSQL en ese puerto, usa otro número, por ejemplo --url localhost:15432, y escríbelo igual en tu aplicación.
4. Conectar tu aplicación
Usa localhost como servidor y el nombre de la base, el usuario y la contraseña que te mostramos al crearla. En el panel, la pestaña Conexión trae estos fragmentos con tus datos.
Spring Boot
spring.datasource.url=jdbc:postgresql://localhost:5432/pdb_k7x9qa_tienda
spring.datasource.username=pdb_k7x9qa_tienda
spring.datasource.password=TU_CONTRASEÑANode.js
DATABASE_URL=postgresql://pdb_k7x9qa_tienda:TU_CONTRASEÑA@localhost:5432/pdb_k7x9qa_tiendaPython
import psycopg
conn = psycopg.connect("postgresql://pdb_k7x9qa_tienda:TU_CONTRASEÑA@localhost:5432/pdb_k7x9qa_tienda")psql y DBeaver
psql postgresql://pdb_k7x9qa_tienda@localhost:5432/pdb_k7x9qa_tiendaEn DBeaver crea una conexión PostgreSQL con servidor localhost, puerto 5432, y tu base, usuario y contraseña.
Problemas comunes
- “cloudflared” no se reconoce o “command not found”
- Falta agregarlo al PATH: mira el paso 2 y abre una terminal nueva.
- “connection refused” al conectar tu aplicación
- El puente del paso 3 no está abierto. Ábrelo y deja la ventana abierta.
- “address already in use” o puerto ocupado
- Otro programa usa el 5432. Usa otro puerto, por ejemplo 15432, en el comando y en tu aplicación.
- “password authentication failed”
- La contraseña no es la correcta. Genera una nueva en la pestaña Ajustes de tu base.
¿Aún no tienes una base? Crea tu cuenta y tu primera base gratis.