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.cloudflared

Si 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 cloudflared

Sin 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.deb

En 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.rpm

Para 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 --version

Debe 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 ~/.zprofile

PATH 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 ~/.bashrc

Si 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:5432

Verá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ÑA

Node.js

DATABASE_URL=postgresql://pdb_k7x9qa_tienda:TU_CONTRASEÑA@localhost:5432/pdb_k7x9qa_tienda

Python

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_tienda

En 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.