The addresses table

The addresses table contains every address seen by Archiveopteryx. It's used everywhere. When a message uses it, an address_fields row refers to this table. Each user has an email address, so users refers to aliases and aliases to addresses.

From: Alice Aardvark <> To: Bob Beaver <>

The name column is essentially a comment. By convention it refers to the address owner's real name, e.g. Alice Aardvark or Bob Beaver in the example. Archiveopteryx remembers it, but does not use it much. The name is stored in UTF-8, without RFC 2047 or other encoding.

The localpart column is the user's localpart. Archiveopteryx treats it as case sensitive in most cases. (In actual fact it tends to be case insensitive, but there is no way to know whether a given address is case sensitive or not, so the only safe policy is to store it case sensitively.)

There is one big exception: Archiveopteryx knows that its own localparts are case insensitive, and tries to avoid duplicated rows.

The domain column is the domain ( in the example). It is case insensitive. At the moment, Archiveopteryx has no support for non-ASCII domains. When we add this, the domain column will store the UTF-8 form of the domain, not an IDNA encoding.

create table addresses ( -- Grant: select, insert id serial primary key, name text, localpart text, domain text );

The addresses table was introduced in version 0.93.

In case of questions, please write to

Relevant links

About this page

Last modified: 2010-11-19