func NewQueryLoggingPgxConn(pool *pgxpool.Pool) PgxConn {
	return &loggingConnImpl{
		connImpl: connImpl{Conn: pool},
	}
}
This is only used by querier to log the time consumed
by SQL queries executed using Query(), QueryRow()
package pgxconn
import (
	"context"
	"fmt"
	"strings"
	"time"
	"github.com/jackc/pgconn"
	"github.com/jackc/pgx/v4"
	"github.com/jackc/pgx/v4/pgxpool"
	"github.com/timescale/promscale/pkg/log"
)
type PgxBatch interface {
	Queue(query string, arguments ...interface{})
}
type PgxConn interface {
	Close()
	Exec(ctx context.Context, sql string, arguments ...interface{}) (pgconn.CommandTag, error)
	Query(ctx context.Context, sql string, args ...interface{}) (PgxRows, error)
	QueryRow(ctx context.Context, sql string, args ...interface{}) pgx.Row
	CopyFrom(ctx context.Context, tableName pgx.Identifier, columnNames []string, rowSrc pgx.CopyFromSource) (int64, error)
	CopyFromRows(rows [][]interface{}) pgx.CopyFromSource
	NewBatch() PgxBatch
	SendBatch(ctx context.Context, b PgxBatch) (pgx.BatchResults, error)
}
type PgxRows interface {
	Next() bool
	Scan(...interface{}) error
	Err() error
	Close()
}