Si alguien más se pregunta Cómo obtener el tipo de datos de una variable (no columna ) puedes usar el pg_typeof(any)
función.
Simplemente
SELECT pg_typeof(your_variable);
O
SELECT pg_typeof('{}'::text[]); //returns text[];
Nota
pg_typeof(varchar_column) devolverá caracteres que varían independientemente del contenido de la columna. Cualquier columna o variable ya está escrita y pg_typeof devolverá ese tipo declarado. No encontrará el tipo de "mejor ajuste" según el valor de esa columna (o variable). -- cita del comentario de a_horse_with_no_name.