2012-09-13 12 views
6

Al usar array_agg o array_string, la matriz devuelve el vacío por encima de un cierto tamaño.limitación de array_agg en Postgresql 9.1

SELECT array_agg(x.id) FROM (SELECT id FROM table LIMIT 500) x - esto funciona y devuelve una matriz.

pero esta consulta: SELECT array_agg(x.id) FROM (SELECT id FROM table LIMIT 667) x No funciona. devuelve una matriz vacía.

estoy bastante seguro de que esto no alcanza el tamaño de limitación de una matriz. ¿Alguna idea de por qué está sucediendo esto?

+1

¿Puede 'id' ser nulo? –

+1

@a_horse_with_no_name no. intente 'SELECT array_agg (x.id) FROM (SELECCIONE * FROM cast (generate_series (1,1158) como int) como id) x' – Ereli

+3

Descubrí cuál era el problema. la limitación está en el entorno de visualización. 'pgAdmin III' no muestra los datos en la interfaz de usuario, pero está allí. – Ereli

Respuesta

6

el problema aquí no era Postgresql, sino el cliente que estaba usando. pgAdmin III no muestra el contenido de la matriz sobre un cierto tamaño. aproximadamente 4.5k. al usar psql uno no encuentra el mismo problema.

la interfaz de usuario de pgAdmin existe la opción de establecer "Max characters per column" y se ajustó a 256 en mi caso, lo que tiene poco sentido. pero copie & pegue la matriz que parece vacía en el bloc de notas encontrará toda la información allí.

+0

buena obersvation – vol7ron

Cuestiones relacionadas