Use the ltree datatype ! It's made specifically for this purpose. http://www.sai.msu.su/~megera/postgres/gist/
On Sun, 03 Apr 2005 12:13:48 +0200, Axel Straschil <[EMAIL PROTECTED]> wrote:
Hello!
I want to store some structure like:
CREATE TABLE node ( nodeid SERIAL PRIMARY KEY, parent INT REFERENCES node(nodeid) ON UPDATE CASCADE ON DELETE CASCADE, label TEXT, UNIQUE (parent, label), ... data ... );
The label is used to map a node to a directory like strukture, so i can
have a function directory_for(nodeid) which gives me
/root_label/parent_label/parent_label/my_label (root labels have NULL as parent)
The problem is the ammount of queries when i've got deep nodes, and I often have to query if a node is "in path" of another node.
Is there a good solution to build directory-tree like datastruktures? I found, http://www.sai.msu.su/~megera/postgres/gist/ltree/ which seems to do what i want, but I've no idea (and probalbly no chance) to get that running on my system ;-(
Thanks, AXEL.
---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly
---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives?
http://archives.postgresql.org