Ver categorías

Cómo exponer una base de datos PostgreSQL como una API REST segura

11 minutos de lectura

Logotipo de PostgreSQL POSTGRESQL API REST

Convierta una consulta de PostgreSQL en una consulta segura. API REST — Sin PostgREST, no hay servidor que alojar.

Guarda una consulta SQL en tu base de datos Postgres, genera una clave API por destinatario y proporciona a un socio un punto final JSON en vivo. No hay acceso abierto. 5432 puerto, sin credenciales compartidas, sin servicio Express para construir y parchear: solo un puerto gobernado de solo lectura. API REST de PostgreSQL en minutos.

No hay puertos de entrada Claves por destinatario Solo lectura obligatoria Nada que desplegar

Query Streams es una plataforma segura de integración de bases de datos en tiempo real que convierte cualquier consulta PostgreSQL guardada en un punto final de API REST listo para usar con socios, con claves por destinatario, restricción de solo lectura y un registro de auditoría completo. Obtienes una transmisión en vivo API REST de PostgreSQL sin abrir un puerto de base de datos, compartir credenciales ni alojar una puerta de enlace. Más información en QueryStreams.com y regístrese gratis Publica tu primer punto final de PostgreSQL en minutos.

¿Por qué exponer una base de datos PostgreSQL como una API REST?

Tarde o temprano, alguien ajeno a tu equipo necesitará datos almacenados en PostgreSQL: un cliente querrá sus cifras en un panel de control, un proveedor querrá una fuente de datos en tiempo real en lugar de un archivo CSV diario, la aplicación de un socio necesitará leer una parte de tus tablas. Las soluciones habituales suelen revelar información que preferirías conservar: envías exportaciones por correo electrónico que quedan obsoletas en el momento en que llegan, entregas un archivo de solo lectura. psql Un inicio de sesión que perdure más allá del compromiso, o bien, se implementa un pequeño servicio y se hereda su autenticación, TLS y parches para siempre. API REST de PostgreSQL Esta es la versión limpia: el socio recibe una URL y un token, no tu base de datos. Lo difícil siempre ha sido crear y operar esa API de forma segura. Query Streams lo convierte en una consulta guardada más una clave.

No hay ningún puerto Postgres abierto

Nunca expones 5432 a internet o abrir un agujero en el cortafuegos. El agente de red realiza la llamada; las llamadas entrantes viajan de vuelta a través de esa única conexión de salida.

Claves API por destinatario

Cada destinatario recibe el suyo propio. qsapi_* Clave. Revoca una sin tocar las demás y sin cambiar tu contraseña de PostgreSQL.

Diseño de solo lectura

Un validador de solo lectura rechaza cualquier instrucción que no sea SELECT antes de que llegue a Postgres. No hay errores accidentales. ACTUALIZAR o GOTA ruta a través de la API.

Tu SQL permanece privado

El destinatario ve la URL del punto final, la respuesta JSON y cualquier filtro que hayas expuesto; nunca tu SQL, esquema, nombre de host o cadena de conexión.

Nada que alojar ni parchear

No hay contenedor PostgREST, ni aplicación Express, ni proxy inverso. El punto final se ejecuta como una función administrada, por lo que no hay que gestionar la canalización de despliegue ni la rotación TLS.

Permanente, con fecha de caducidad o autodestructivo

Puede configurar un punto final como permanente, establecer una fecha de vencimiento o asignarle un presupuesto fijo de llamadas que se autodestruya tras un número determinado de solicitudes.

Las formas habituales de implementar una API REST en PostgreSQL y por qué resultan problemáticas.

Existen herramientas bien conocidas para esto, y son eficaces. El inconveniente es que todas implican la gestión de la infraestructura, una exposición de la red o ambas. A continuación, se comparan los enfoques comunes con un punto final compartido de Query Streams cuando el objetivo es simplemente permitir que un socio específico lea un conjunto de resultados específico.

Inquietud PostgREST / Hasura (autoalojado) Bricolaje Express / FastAPI Flujos de consulta
Base de datos accesible desde la API Debe acceder a Postgres (a menudo mediante una nueva ruta de red o un puerto público). Debe llegar a Postgres Agente solo de salida: sin puerto de entrada
Lo que el destinatario posee Una URL en su esquema Una URL en su servicio Una clave de un solo propósito para una sola consulta.
Exposición de esquemas Esquema completo expuesto por defecto Sea lo que sea que hayas codificado manualmente Una consulta guardada, nada más.
Claves por destinatario + revocación Constrúyelo tú mismo Constrúyelo tú mismo Construido
Registro de auditoría de cada llamada Añádelo tú mismo Añádelo tú mismo Construido
Usted opera / parchea / rota TLS Sí, para siempre Sí, para siempre Gestionado para usted
Tiempo hasta el primer punto final De horas a días Días Acta

¿Buscas una alternativa a PostgREST para compartir con tu pareja?

PostgREST es excelente cuando se necesita una interfaz REST completa y autogestionada sobre un esquema propio. Si, en cambio, se desea proporcionar a un socio específico un conjunto de resultados controlado y de solo lectura —con su propia clave, registro de auditoría y sin necesidad de ejecutar un servidor—, Query Streams es la solución ideal. Ambas herramientas pueden coexistir: PostgREST para la aplicación interna y Query Streams para compartir información con el exterior.

Cómo Query Streams convierte una consulta de Postgres en una API REST

Una vez instalado el Agente de red y configurado el conector de PostgreSQL, la promoción de una consulta guardada a un punto final REST compartido requiere aproximadamente tres pasos. Si ya utiliza Query Streams para Excel, Google Sheets o el servidor MCP, el Agente y el conector ya están instalados; solo tiene que comenzar en el paso dos.

1

Conecta PostgreSQL a través del agente

Instale el Agente de red junto a su base de datos y agregue un conector PostgreSQL con un rol de solo lectura estándar. El Agente establece una conexión TLS saliente con Query Streams; su base de datos nunca queda expuesta a Internet.

2

Guardar una consulta SQL

Escribe el SELECCIONE En el Generador de Consultas, contra tu conexión a PostgreSQL, se admiten JOINs, CTEs, funciones de ventana y parámetros. Asígnale un nombre y guárdalo. Cualquier elemento que puedas seleccionar puede convertirse en un punto final.

3

Promociónalo y comparte una clave

Abra la pestaña Instalar, elija el tipo de punto final (permanente, con vencimiento o presupuesto de llamadas) y el formato de salida, luego invite a un destinatario por correo electrónico. Ellos obtienen una reclamación de enlace mágico y su propio qsapi_* llave.

Una consulta guardada, muchas superficies

La misma consulta PostgreSQL guardada puede impulsar una actualización de Excel, una barra lateral de Google Sheets, una conversación de Claude o Cursor a través de Servidor PostgreSQL MCP, y un punto final REST orientado a socios al mismo tiempo. Usted crea la consulta una sola vez; Query Streams se encarga de las interfaces.

No hay ningún puerto de Postgres abierto, no hay credenciales compartidas

El modelo de seguridad es la razón por la que los equipos optan por esta solución en lugar de una base de datos pública. Su contraseña de PostgreSQL reside únicamente en el almacén de credenciales cifrado del Agente en su red; nunca se transmite a nuestra nube ni es visible para el destinatario. Además, cada punto final le ofrece controles personalizados que puede ajustar antes de compartir la información.

Agente dedicado exclusivamente a llamadas salientes

El agente se conecta a agente.querystreams.com en el puerto 443. Su firewall ve HTTPS saliente normal; no hay puertos entrantes, ni VPN, ni túnel.

Aplicación de la ley de solo lectura

Un validador se ejecuta en el Agente, en su red, antes de que cualquier instrucción llegue a Postgres. Las instrucciones que no son SELECT se rechazan con SOLO LECTURA_VIOLACIÓN.

Listas de permitidos de IP + CORS

Asigne la clave de un destinatario a direcciones IP o rangos CIDR específicos y restrinja qué navegadores pueden llamar a cada punto final. Las llamadas fuera de la lista se rechazan antes de que se ejecute cualquier consulta SQL.

Límites de velocidad + cuotas de bytes

Los límites de velocidad de dos niveles (por clave y por punto final), junto con un límite de bytes mensual opcional, mantienen a un destinatario ruidoso o descontrolado dentro de un radio de explosión seguro.

Llama a tu API REST de PostgreSQL.

Los destinatarios llaman al punto final como cualquier otra API REST: un token de portador y una URL. Cualquier parámetro de consulta guardado que haya expuesto se puede configurar por llamada, en la cadena de consulta para CONSEGUIR o en un cuerpo JSON para CORREOEl agente vincula esos valores como parámetros adecuados de sentencias preparadas, nunca como concatenación de cadenas, por lo que un destinatario no puede eludir un filtro para inyectar SQL.

GET con un parámetro de filtro
# Llamada del destinatario a su punto final respaldado por Postgres rizo -H “Autorización: Portador qsapi_K7…ZmQ” \ “https://api.querystreams.com/v1/endpoints/orders-by-region?region=EMEA&since=2026-01-01”

Seleccione el formato de salida por llamada con el Aceptar encabezado (o un ?formato= parámetro de consulta): JSON para una sola matriz, CSV para hojas de cálculo y pandas, o, en un punto final de transmisión, NDJSON (una fila JSON por línea) para canalizaciones de análisis sobre la marcha. Para consumidores sensibles al ancho de banda, opte por LZ4 compresión de carga útil con Codificación aceptada: lz4; las respuestas sin comprimir también obtienen el estándar gzip en el cable automáticamente. Para obtener el desglose completo de los modos estático frente a los de transmisión, las cuatro combinaciones de cables y la generación de OpenAPI 3.1, consulte la API REST instantánea para bases de datos SQL guía.

Cómo se factura el uso

La plataforma API está incluida en todos los planes y utiliza la misma asignación mensual de bytes que Excel, Google Sheets y el servidor MCP. Las llamadas LZ4 se facturan en función de los bytes comprimidos; de lo contrario, se facturan en función de los bytes sin comprimir. cómo se mide el límite de bytes compartidos →

Conéctalo a Power BI, Tableau y cualquier programa que lea JSON.

Porque cada punto final devuelve un estándar JSON —con CSV y NDJSON en streaming disponibles— cualquier herramienta que pueda leer una fuente REST consume directamente sus datos de PostgreSQL, sin necesidad de instalar nada de su parte. Power Query es el puente más fácil hacia la pila de BI de Microsoft: en Power BI elegir Obtener datos → Desde la web, pegue la URL del punto final, agregue su Autorización encabezado, y Power Query analiza el JSON en una tabla actualizable que alimenta su modelo de datos. (Para datos en vivo dentro de una hoja de cálculo, la función nativa Complemento de Excel para consultar flujos de consultas es la opción más sencilla: Power Query está ahí cuando necesitas los datos en el propio modelo de Power BI.

Logotipo de Microsoft Power Query Power Query Obtener datos → Desde la web, pegue la URL y el token de portador, expanda el JSON a una tabla actualizable.
Logotipo de Microsoft Power BI Power BI El mismo motor de Power Query: cargue el punto final directamente en su modelo y programe la actualización.
Logotipo de Tableau Tableau Apunte un conector de datos web o una fuente JSON al punto final para los paneles de control en tiempo real.
Logotipo del cartero Cartero Importa la especificación OpenAPI 3.1 y, a continuación, envía, inspecciona y comparte solicitudes con un solo clic.

También alimenta n8n, Qlik, rizo, Python (solicitudes o pandas.read_json), Insomnia, Hoppscotch, o cualquier script o flujo de trabajo que pueda enviar una solicitud HTTP y leer JSON.

También funciona con PostgreSQL administrado.

No importa dónde se ejecute su PostgreSQL. El agente se conecta de la misma manera a un servidor local o a un servicio administrado: Amazon RDS para PostgreSQL y Aurora PostgreSQL, Azure Database para PostgreSQL, Google Cloud SQL para PostgreSQL, Supabase o Neon. Para obtener la menor latencia, implemente el agente en la misma red o región que la base de datos; una cuenta de Query Streams puede ejecutar varios agentes en diferentes regiones y nubes, y un único punto final se comporta de forma idéntica independientemente del agente que lo administre.

Más que PostgreSQL

El mismo flujo de trabajo promueve una consulta guardada desde Microsoft SQL Server, MySQL, MariaDB, SQLite, Microsoft Access, Snowflake, Oracle, BigQuery o DuckDB a un punto final REST. PostgreSQL es simplemente uno de los puntos de partida más populares. Explore el Guías de configuración de conectores para la lista actual.

Preguntas frecuentes

¿Necesito abrir un puerto o exponer PostgreSQL a internet? +
No, el agente de red realiza llamadas salientes a través de TLS en el puerto 443, por lo que las llamadas entrantes viajan de vuelta a través de esa única conexión saliente y su puerto PostgreSQL (5432 (por defecto) nunca se expone. Cómo funciona la conexión solo de salida →
¿Puede el destinatario ver mis credenciales SQL o de mi base de datos? +
Nunca: el destinatario solo ve la URL del punto final, la respuesta y los filtros que usted expuso, mientras que su contraseña de SQL y PostgreSQL permanece dentro del almacén de credenciales cifradas del Agente en su red. lo que permanece privado detrás de cada clave →
¿En qué se diferencia esto de PostgREST o Hasura? +
PostgREST y Hasura generan una amplia superficie de API sobre su esquema y se ejecutan como servicios que usted aloja, protege y mantiene accesibles desde Postgres. Query Streams adopta un enfoque opuesto y más específico para compartir datos con el exterior: expone una consulta guardada como un único punto final, cada destinatario obtiene su propia clave revocable, cada llamada se audita y no es necesario implementar ni actualizar nada. Muchos equipos utilizan ambas soluciones: una herramienta interna como PostgREST y Query Streams para compartir datos fuera de la organización.
¿Qué formatos de salida puede devolver la API? +
JSON (el predeterminado), CSV y, en un punto final de transmisión, NDJSON, elegido por llamada con el Aceptar encabezado o un ?formato= parámetro, con compresión de carga útil LZ4 opcional. Formatos de cable y opciones de compresión →
¿Pueden los destinatarios filtrar los resultados o reciben una consulta predefinida? +
Usted decide. Cualquier parámetro que exponga en la consulta guardada se convierte en un filtro que el destinatario puede establecer por llamada, en la cadena de consulta para CONSEGUIR o un cuerpo JSON para CORREOLos parámetros que no se exponen permanecen fijos. El agente vincula cada valor como un parámetro de sentencia preparada, por lo que no se pueden usar filtros para inyectar SQL.
¿Puede un punto final caducar o autodestruirse? +
Sí, un punto final puede ser permanente, caducar en una fecha determinada o tener un presupuesto de llamadas fijo, y puede revocar la clave de cualquier destinatario al instante sin modificar las de los demás ni cambiar la contraseña de su base de datos. Duración de los puntos finales y revocación de claves por destinatario →
¿Es compatible con Amazon RDS, Azure, Cloud SQL, Supabase o Neon? +
Sí. El agente se conecta a cualquier instancia de PostgreSQL accesible, ya sea local o gestionada: Amazon RDS y Aurora PostgreSQL, Azure Database for PostgreSQL, Google Cloud SQL for PostgreSQL, Supabase y Neon funcionan. Para obtener la mejor latencia, ejecute el agente en la misma región que la base de datos; una cuenta puede ejecutar varios agentes en diferentes nubes y regiones.
¿El destinatario necesita una cuenta de Query Streams? +
Se recomienda compartirlo por correo electrónico: el destinatario recibe un enlace mágico y una organización gratuita creada automáticamente; o bien, puede emitir una clave de servicio para el acceso desatendido de máquina a máquina. reclamaciones por destinatario frente a claves de servicio →

Comenzar

Publica tu primera API REST de PostgreSQL gratis.

Regístrate, instala el Agente de red junto a tu base de datos Postgres, guarda una consulta SQL y envía por correo electrónico un enlace mágico a un destinatario. Las claves por destinatario, la restricción de solo lectura y un registro de auditoría completo están activados desde la primera llamada.

Guías relacionadas: API REST instantánea para bases de datos SQL | Plataforma API REST de base de datos | Conecta PostgreSQL a Claude a través de MCP. | Guías de configuración de conectores

Categoría: Plataforma API

Etiquetas: postgres-rest-api, postgresql, rest-api, exponer-postgres-como-api, postgrest-alternative, compartir-datos-postgres, claves-por-destinatario, api-sin-código, base-de-datos-rest api

Meta Descripción: Convierte una consulta de PostgreSQL en una API REST segura de solo lectura con claves por destinatario; sin puertos abiertos, sin PostgREST, sin código.

Actualizado el 16 de junio de 2026

Funciona con BetterDocs