diff --git a/cel/cel_pgsql.c b/cel/cel_pgsql.c
index 17654875ce32e2eca900ed778fb99cc0230c437c..e4bdab1d7677c8d49d69573118c42214184a3de5 100644
--- a/cel/cel_pgsql.c
+++ b/cel/cel_pgsql.c
@@ -55,7 +55,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include "asterisk/logger.h"
 #include "asterisk.h"
 
-#define DATE_FORMAT "%Y-%m-%d %T"
+#define DATE_FORMAT "%Y-%m-%d %T.%6q"
 
 static char *config = "cel_pgsql.conf";
 static char *pghostname = NULL, *pgdbname = NULL, *pgdbuser = NULL, *pgpassword = NULL, *pgdbport = NULL, *table = NULL;
@@ -240,9 +240,12 @@ static void pgsql_log(const struct ast_event *event, void *userdata)
 				} else if (strcmp(cur->name, "peer") == 0) {
 					value = record.peer;
 				} else {
-					value = "";
+					value = NULL;
 				}
-				if (strncmp(cur->type, "int", 3) == 0) {
+
+				if (value == NULL) {
+					ast_str_append(&sql2, 0, "%sDEFAULT", SEP);
+				} else if (strncmp(cur->type, "int", 3) == 0) {
 					long long whatever;
 					if (value && sscanf(value, "%30lld", &whatever) == 1) {
 						LENGTHEN_BUF2(26);
diff --git a/doc/tex/cdrdriver.tex b/doc/tex/cdrdriver.tex
index a94ddf28b4eff4a5e0a2525de17843b2adf7d5fb..8e3215c2f45787df5f7a23e5636c9e71d2bcb9b0 100644
--- a/doc/tex/cdrdriver.tex
+++ b/doc/tex/cdrdriver.tex
@@ -258,7 +258,7 @@ CREATE TABLE cdr (
 \begin{astlisting}
 \begin{verbatim}
         CREATE TABLE cdr (
-                calldate      time               NOT NULL ,
+                calldate      timestamp             NOT NULL ,
                 clid          varchar (80)          NOT NULL ,
                 src           varchar (80)          NOT NULL ,
                 dst           varchar (80)          NOT NULL ,
diff --git a/doc/tex/celdriver.tex b/doc/tex/celdriver.tex
index c3abf0df01aa6c060526b60c45f903d863080e98..c1b9e00d3b39ba0d414ce4e0d2c629bd6612f23c 100644
--- a/doc/tex/celdriver.tex
+++ b/doc/tex/celdriver.tex
@@ -205,13 +205,15 @@ Using MySQL for Channel Event records is supported by using ODBC and the cel_odb
 
 \begin{verbatim}
         CREATE TABLE cel (
+                id            serial ,
                 eventtype     varchar (30)          NOT NULL ,
-                eventtime     time                  NOT NULL ,
-                cidname       varchar (80)          NOT NULL ,
-                cidnum        varchar (80)          NOT NULL ,
-                cidani        varchar (80)          NOT NULL ,
-                cidrdnis      varchar (80)          NOT NULL ,
-                ciddnis       varchar (80)          NOT NULL ,
+                eventtime     timestamp             NOT NULL ,
+                userdeftype   varchar(255)          NOT NULL ,
+                cid_name      varchar (80)          NOT NULL ,
+                cid_num       varchar (80)          NOT NULL ,
+                cid_ani       varchar (80)          NOT NULL ,
+                cid_rdnis     varchar (80)          NOT NULL ,
+                cid_dnid      varchar (80)          NOT NULL ,
                 exten         varchar (80)          NOT NULL ,
                 context       varchar (80)          NOT NULL ,
                 channame      varchar (80)          NOT NULL ,
@@ -219,7 +221,9 @@ Using MySQL for Channel Event records is supported by using ODBC and the cel_odb
                 appdata       varchar (80)          NOT NULL ,
                 amaflags      int                   NOT NULL ,
                 accountcode   varchar (20)          NOT NULL ,
-                uniqueid      varchar (32)          NOT NULL ,
+                peeraccount   varchar (20)          NOT NULL ,
+                uniqueid      varchar (150)         NOT NULL ,
+                linkedid      varchar (150)         NOT NULL ,
                 userfield     varchar (255)         NOT NULL ,
                 peer          varchar (80)          NOT NULL
         );