I know it is possible to define a new data type which is a composite of PG native types, but there seems to be little or no documentation (that I can find) about how to do this. For example, I have a lot of data in the form of an address, which contains address-line-1, address-line-2, city, province, country, and postal code. I want to put all of these data into a single type, so I can pass it back and forth to pl/pgsql functions as just one argument. I'm having to send so many arguments that I am running into the 16 argument limit, and anyway, it would be much easier to handle if I could just define an address type. Any information would be appreciated, including references to websites. Thanks