Consider the following: create table foo ( id serial primary key, path text); alter table foo add ref foo;
Table "public.foo" Column | Type | Modifiers --------+---------+----------------------------------------------------- id | integer | not null default nextval('public.foo_id_seq'::text) path | text | ref | foo | Indexes: "foo_pkey" PRIMARY KEY, btree (id) insert into foo (path) VALUES ('/'); insert into foo (path,ref) VALUES ('/foo',ROW(1,'/',NULL)); insert into foo (path,ref) VALUES ('/foo/bar',ROW(2,'/foo',ROW(1,'/',NULL))); select * from foo; id | path | ref ----+----------+------------------- 1 | / | 2 | /foo | (1,/,) 3 | /foo/bar | (2,/foo,"(1,/,)") (3 rows) However, it is not possible to create such a type using create type, as there is no alter type, even tho alter table does the same thing. Is this a bug or a random feature? It is also not possible to dump and restore this using pg_dump. ... John ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings