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

Reply via email to