Обсуждение: array dimensions, pg_catalog.pg_attribute and the \d command

Поиск
Список
Период
Сортировка

array dimensions, pg_catalog.pg_attribute and the \d command

От
Achilleas Mantzios
Дата:
Hello,
just a question regarding multidimensional arrays.
When i create an array, its number of dimensions is recorded in 
pg_catalog.pg_attribute (attndims), but they are not enforced upon insertion, 
nor is this presented by \d command. (i didn't see any attndims column showing 
up in the logs)

Any reasons why this is so?


Re: array dimensions, pg_catalog.pg_attribute and the \d command

От
Dmitriy Igrishin
Дата:
Hey Achilleas,

2012/2/3 Achilleas Mantzios <achill@matrix.gatewaynet.com>
Hello,
just a question regarding multidimensional arrays.
When i create an array, its number of dimensions is recorded in
pg_catalog.pg_attribute (attndims), but they are not enforced upon insertion,
nor is this presented by \d command. (i didn't see any attndims column showing
up in the logs)

Any reasons why this is so?
According to the documentation
"The current implementation does not enforce the declared number
of dimensions either. Arrays of a particular element type are all
considered to be of the same type, regardless of size or number
of dimensions. So, declaring the array size or number of dimensions
in CREATE TABLE is simply documentation; it does not affect run-time
behavior."
See
http://www.postgresql.org/docs/9.1/static/arrays.html#ARRAYS-DECLARATION

--
// Dmitriy.


Re: array dimensions, pg_catalog.pg_attribute and the \d command

От
Achilleas Mantzios
Дата:
On Παρ 03 Φεβ 2012 22:21:49 Dmitriy Igrishin wrote:
> Hey Achilleas,
>
> 2012/2/3 Achilleas Mantzios <achill@matrix.gatewaynet.com>
>
> > Hello,
> > just a question regarding multidimensional arrays.
> > When i create an array, its number of dimensions is recorded in
> > pg_catalog.pg_attribute (attndims), but they are not enforced upon
> > insertion,
> > nor is this presented by \d command. (i didn't see any attndims column
> > showing
> > up in the logs)
> >
> > Any reasons why this is so?
>
> According to the documentation
> "The current implementation does not enforce the declared number
> of dimensions either. Arrays of a particular element type are all
> considered to be of the same type, regardless of size or number
> of dimensions. So, declaring the array size or number of dimensions
> in CREATE TABLE is simply documentation; it does not affect run-time
> behavior."
> See
> http://www.postgresql.org/docs/9.1/static/arrays.html#ARRAYS-DECLARATION

Thanx Dmitry.