Por supuesto, podría escribir una función PL/pgSQL y consultar la tabla de catálogo pg_attribute
tú mismo. Pero es mucho más fácil con uno de los siguientes:
JSON
La función row_to_json()
proporciona una funcionalidad que va a la mitad del camino. Introducido con Postgres 9.2 :
SELECT row_to_json(t, TRUE) FROM tbl t;
No es necesario que mencione los nombres de las columnas en absoluto, la función los deriva del tipo de tabla.
Pero necesitará json_each_text()
de Postgres 9.3 ir hasta el final:
SELECT json_each_text(row_to_json(t)) FROM tbl t;
Para obtener un orden de clasificación como el que muestra:
SELECT (json_each_text(row_to_json(t))).*
FROM tbl t
ORDER BY 1, 2;
(No está claro cómo desea ordenar exactamente).
No probado. SQLfiddle aún no proporciona Postgres 9.3.
htienda
Sin embargo, puede hacer lo mismo con el módulo adicional hstore . Disponible desde 8.4 . Instálelo una vez con:
CREATE EXTENSION hstore;
Detalles:
Par de clave-valor en PostgreSQL
Consulta:
SELECT (each(hstore(t))).*
FROM tbl t
ORDER BY 1,2;
Eso es todo.
Nuevamente, no hay SQLfiddle, ya que no se pueden instalar módulos adicionales allí.