This depends on exactly what you need. In the end usually you are going to want to convert things into integer arrays.
In LedgerSMB we use integers and foreign keys to handle hierarchies, and then convert them to int arrays via WITH RECURSIVE CTE's and text strings . This is one of those things where hierarchical data design can depend heavily on the use case. -- Best Wishes, Chris Travers Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor lock-in. http://www.efficito.com/learn_more.shtml