Create a TCP connection by using ADO.NET

Open a TCP connection to Cloud SQL for PostgreSQL by using an ADO.NET Connection object.

Explore further

For detailed documentation that includes this code sample, see the following:

Code sample


To authenticate to Cloud SQL for PostgreSQL, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.

using Npgsql;
using System;

namespace CloudSql
    public class PostgreSqlTcp
        public static NpgsqlConnectionStringBuilder NewPostgreSqlTCPConnectionString()
            // Equivalent connection string:
            // "Uid=<DB_USER>;Pwd=<DB_PASS>;Host=<INSTANCE_HOST>;Database=<DB_NAME>;"
            var connectionString = new NpgsqlConnectionStringBuilder()
                // Note: Saving credentials in environment variables is convenient, but not
                // secure - consider a more secure solution such as
                // Cloud Secret Manager ( to help
                // keep secrets safe.
                Host = Environment.GetEnvironmentVariable("INSTANCE_HOST"),     // e.g. ''
                // Set Host to 'cloudsql' when deploying to App Engine Flexible environment
                Username = Environment.GetEnvironmentVariable("DB_USER"), // e.g. 'my-db-user'
                Password = Environment.GetEnvironmentVariable("DB_PASS"), // e.g. 'my-db-password'
                Database = Environment.GetEnvironmentVariable("DB_NAME"), // e.g. 'my-database'

                // The Cloud SQL proxy provides encryption between the proxy and instance.
                SslMode = SslMode.Disable,
            connectionString.Pooling = true;
            // Specify additional properties here.
            return connectionString;

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.