in analytics/server.go [261:290]
func initTCPConnectionPool() (*sql.DB, error) {
// [START cloud_sql_postgres_databasesql_create_tcp]
var (
dbUser = mustGetenv("DB_USER") // e.g. 'my-db-user'
dbPwd = mustGetenv("DB_PASS") // e.g. 'my-db-password'
dbTCPHost = mustGetenv("DB_HOST") // e.g. '127.0.0.1' ('172.17.0.1' if deployed to GAE Flex)
dbPort = mustGetenv("DB_PORT") // e.g. '5432'
dbName = mustGetenv("DB_NAME") // e.g. 'my-database'
)
dbURI := fmt.Sprintf("host=%s user=%s password=%s port=%s database=%s", dbTCPHost, dbUser, dbPwd, dbPort, dbName)
dbRootCert := os.Getenv("DB_ROOT_CERT") // e.g., '/path/to/my/server-ca.pem'
if dbRootCert != "" {
var (
dbCert = mustGetenv("DB_CERT") // e.g. '/path/to/my/client-cert.pem'
dbKey = mustGetenv("DB_KEY") // e.g. '/path/to/my/client-key.pem'
)
dbURI += fmt.Sprintf(" sslmode=require sslrootcert=%s sslcert=%s sslkey=%s", dbRootCert, dbCert, dbKey)
}
dbPool, err := sql.Open("pgx", dbURI)
if err != nil {
return nil, fmt.Errorf("sql.Open: %v", err)
}
configureConnectionPool(dbPool)
return dbPool, nil
}