I just spent half a day trying to set up a log4net AdoNetAppender to write into a PostgreSQL table named "Log". It was not working, and I was not getting any error messages anyplace. Not my application, not PostgreSQL log files. I stripped the log4net configuration file to a bare minimum, where it merely writes the same message every time, using this query:
INSERT INTO Log (message) VALUES ('This is a log message'); I could not get it to work. Finally, in desperation, I opened an SQL window in PGAdmin, and pasted the query into it. It didn't work! It claimed there is no relation named Log. I tried this: INSERT INTO log (message) VALUES ('This is a log message'); It didn't work either. I tried this: INSERT INTO "Log" (message) VALUES ('This is a log message'); That worked! When I was staring at the table definition PGAdmin showed me, I noticed that the SQL to create the table began with: CREATE TABLE "Log" Note the double quotes around the word Log. I came to the conclusion that the double quotes are actually being included in the table name. I dropped the table and recreated it manually. Now, when I look at the create table script, I see that it begins with: CREATE TABLE Log And when I run the application that tries to write log messages into that table, it works! We cannot have double quotes embedded in object names for our applications. It would be a huge change in the way many pieces of our products are configured. Is there a way to change this behavior, or do we have to revert to an older version of PostgreSQL? Thank you very much! RobR