On Tue, Aug 10, 2004 at 04:18:08PM +0800, ac wrote: > I use postgresql to record all the radacct-pkts from the freeradius-0.9.3. > But sometimes the record with the same acctuniqueid, acctsessionid > appears twice or much more times. > I don't know why it happened and how to avoid it.
Check if Acct-Delay-Time differs in requests. If it does, looks like you have one of the following problems: 1. Network problems, so Accounting-Ack sometimes does not reach NAS, so it re-sends request. 2. Slow database, so it takes too long time to accomplish the request and the NAS gets timed out, again, re-sending the request. In this case you can try to configure your NAS for greater timeout. Some people would suggest using UNIQUE constraint on acctUniqueId column, which also seems reasonable. > By the way, is there any sql statment which can help me to delete or skip > the duplicate records with the same acctuniqueid ? If you have a serial id column in default schema try using SELECT * FROM radacct WHERE EXISTS ( SELECT 1 FROM radacct r2 WHERE r2.id < radacct.id -- note the "<" AND r2.acctUniqueId = radacct.acctUniqueId ); Then, if you sure that's it, replace SELECT with DELETE. If you want leave the first of dups, use "<", if you want the last - ">". -- Fduch M. Pravking - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html