diff --git a/postgresql/database.go b/postgresql/database.go
index 9cf8c988d888898c77ed4f973a6f6bb0c944a11e..fc048e18655c2d77343bc500fda54f5600a1fa0a 100644
--- a/postgresql/database.go
+++ b/postgresql/database.go
@@ -44,6 +44,8 @@ var (
 	SSLMode    = "disable"
 )
 
+var template *sqlgen.Template
+
 var (
 	columnPattern  = regexp.MustCompile(`^([a-z]+)\(?([0-9,]+)?\)?\s?([a-z]*)?`)
 	sqlPlaceholder = sqlgen.Value{sqlgen.Raw{`?`}}
@@ -70,7 +72,7 @@ func debugEnabled() bool {
 
 func init() {
 
-	sqlgen.SetTemplate(sqlgen.Template{
+	template = &sqlgen.Template{
 		pgsqlColumnSeparator,
 		pgsqlIdentifierSeparator,
 		pgsqlIdentifierQuote,
@@ -98,7 +100,7 @@ func init() {
 		pgsqlDropDatabaseLayout,
 		pgsqlDropTableLayout,
 		pgsqlSelectCountLayout,
-	})
+	}
 
 	db.Register(Driver, &Source{})
 }
@@ -109,7 +111,7 @@ func (self *Source) doExec(stmt sqlgen.Statement, args ...interface{}) (sql.Resu
 		return nil, db.ErrNotConnected
 	}
 
-	query := stmt.Compile()
+	query := stmt.Compile(template)
 
 	l := len(args)
 	for i := 0; i < l; i++ {
@@ -132,7 +134,7 @@ func (self *Source) doQuery(stmt sqlgen.Statement, args ...interface{}) (*sql.Ro
 		return nil, db.ErrNotConnected
 	}
 
-	query := stmt.Compile()
+	query := stmt.Compile(template)
 
 	l := len(args)
 	for i := 0; i < l; i++ {
@@ -155,7 +157,7 @@ func (self *Source) doQueryRow(stmt sqlgen.Statement, args ...interface{}) (*sql
 		return nil, db.ErrNotConnected
 	}
 
-	query := stmt.Compile()
+	query := stmt.Compile(template)
 
 	l := len(args)
 	for i := 0; i < l; i++ {
diff --git a/postgresql/result.go b/postgresql/result.go
index 57235ff5387ca2bbadfce3e43d11f02c0927c797..b35f173555e5d19fe086cee6b617715a4356b66e 100644
--- a/postgresql/result.go
+++ b/postgresql/result.go
@@ -28,7 +28,7 @@ import (
 	"upper.io/db/util/sqlgen"
 )
 
-type counter struct {
+type counter_t struct {
 	Total uint64 `db:"_t"`
 }
 
@@ -222,7 +222,7 @@ func (self *Result) Close() error {
 	return err
 }
 
-// Counts matching elements.
+// Counting the elements that will be returned.
 func (self *Result) Count() (uint64, error) {
 
 	rows, err := self.table.source.doQuery(sqlgen.Statement{
@@ -239,7 +239,7 @@ func (self *Result) Count() (uint64, error) {
 
 	defer rows.Close()
 
-	dst := counter{}
+	dst := counter_t{}
 	self.table.T.FetchRow(&dst, rows)
 
 	return dst.Total, nil