I've done some more digging as to why the database only gets one update.. With no detail or detail.work file, freeradius will wake up every 1 second to check for creation - when it gets updated, it puts it into the database fine.
However it never deletes or changes the detail.work file - so when I send a second accounting packet, it will go into the detail file without a problem (and will be the only packet in the file) but detail.work seems to be locked with the first packet. No matter how many packets I send it detail.work always sticks with the first packet, and nothing ever gets written to the database. The problem was originally with 2.0.0, I have tried with the latest CVS with no luck either. The end of the debug for the virtual server which does the DB writing is below, nothing ever shows up after the last line: rlm_sql (sql_logger1): Reserving sql socket id: 13 rlm_sql_postgresql: Status: PGRES_COMMAND_OK rlm_sql_postgresql: query affected rows = 1 rlm_sql (sql_logger1): Released sql socket id: 13 ++[sql_logger1] returns ok ++[ok] returns ok } # server local_logger RTT 38420 delay 153680 Finished request 0. Going to the next request Waking up in 0.9 seconds. Cleaning up request 0 ID 37069 with timestamp +20 Ready to process requests. Any help would be appreciated, thanks! Nick -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] s.org] On Behalf Of Nick Freeman Sent: Wednesday, January 30, 2008 10:06 AM To: [email protected] Subject: Issue reading from detail to sql (buffered-sql virtual server) Hi, I'm trying to get my detail file picked up by multiple virtual servers and relayed to multiple PostgreSQL backends. The detail file writes fine, however the detail reader will only ever write one entry to the Postgres DB when it starts. The config I have for the virtual server in question is below: server local_logger { listen { type = detail filename = ${radacctdir}/detail load_factor = 20 } preacct { preprocess acct_unique files } accounting { sql_logger1 } } I have verified that sql_logger1 isn't the problem, if I put that after the detail directive in another virtual server data gets written to the database every time. It looks like my local_logger never picks anything up (except once on startup). Looking at server starting in debug mode I see this: listen { type = "detail" listen { filename = "/var/log/freeradius/radacct/detail" load_factor = 20 } } Is this normal? The listen directive is in the same format as the other virtual servers but this is the only one which has nested listens in the server startup. Thanks in advance, Nick - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

