Hello you can test it. PostgreSQL 8.3 supports it. postgres=# CREATE TYPE at AS (a integer, b integer); CREATE TYPE postgres=# CREATE TABLE foo(a at[]); CREATE TABLE postgres=# INSERT INTO foo VALUES(ARRAY[(10,20)::at]); INSERT 0 1 postgres=# INSERT INTO foo VALUES(ARRAY[(10,20)::at, (20,30)::at]); INSERT 0 1 postgres=# SELECT * FROM foo; a ----------------------- {"(10,20)"} {"(10,20)","(20,30)"} (2 rows) postgres=# SELECT a[1] FROM foo; a --------- (10,20) (10,20) (2 rows) postgres=# SELECT a[1].a FROM foo; a ---- 10 10 (2 rows) regards Pavel Stehule 2007/7/7, Chris Travers <chris@xxxxxxxxxxxxxxxxxx>:
Hi all; I was wondering how one would define an array of complex data types or records. Any ideas or is this simply not supported? Best Wishes, Chris Travers ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match