The membership data is stored in multiple tables within the database "ffii" on vic (postgresql):
asoc
- uid, character varying(8): aktiv id
 - org, character varying(8): organisation, default 'ffii'
 - asolvl, numeric(1,0): membership status, -1 (unsubscribed) to 3 (active member), not necessarily correct
 - asorem , text, ???
 - asolack, character varying(16), acknowledgement code of membership
 
asolack
??, no permissions
- uid, character varying(8)
 - mailref, ??
 - mailuser, part of email before @
 - mailhost, part of email after @
 
padr
- uid, character varying(8)
 - adrref, character varying(8), ??
 - land, character varying(2), 2 letter code for country (belgium = be, netherlands = nl)
 - plz, text, zip code
 - urb, text, city
 - str, text, street name and number
 
pnom
- uid | character varying(8)
 - pntyp | character varying(2) | ??
 - pnom, full name
 
teln
- uid | character varying(8) |
 - telref | character varying(8) | ??
 - tel | text | telephone number
 - telrem | text | ??
 
pass
- uid | character varying(8) |
 - pass | character varying(16) | hash (what kind of?) of password
 
Some useful queries
Get member info from country BE:
psql ffii
ffii=# \o /home/dietvu/ffii.csv;
ffii=# select distinct * from mail left outer join teln on (teln.uid = mail.uid) inner join pnom on (pnom.uid = mail.uid) inner join padr on (padr.uid = mail.uid) left outer join asoc on ( asoc.uid = mail.uid) where "land" = 'be';
email only: ffii=# select distinct mailuser, mailhost from mail left outer join teln on (teln.uid = mail.uid) inner join pnom on (pnom.uid = mail.uid) inner join padr on (padr.uid = mail.uid) left outer join asoc on ( asoc.uid = mail.uid) where "land" = 'be';
Observations during manual correction
A lot of double records, only difference is organisation (nothing/ffii/ael) or norm/subs status for mailing lists.
