Skip to content

Integrate Google Cloud for PostgreSQL with Databox


Availability

userUsers, Editors, and Admins
accountAll accounts
planExclusive to select subscription plans

Google Cloud SQL is a fully managed relational database service from Google Cloud that handles provisioning, maintenance, and scaling of PostgreSQL databases without requiring you to manage the underlying infrastructure. It supports PostgreSQL 13 through 16 and is commonly used to power web applications, internal tools, and analytics pipelines hosted on Google Cloud. Connecting Google Cloud for PostgreSQL to Databox lets you pull data directly from your managed database, build datasets using SQL queries, and visualize business-critical figures alongside data from your other connected tools.

Connection

If you've already established a connection, you can reuse it to add new data sources to your Databox account.

Step 1: Create a read-only PostgreSQL role for Databox

Databox only reads data from your database — it never writes to it. Create a dedicated PostgreSQL role with SELECT-only privileges on the schemas and tables you want to expose. You can run these commands using the Cloud SQL Studio query editor in the Google Cloud Console, or via a PostgreSQL client connected to your instance.

CREATE ROLE databox WITH LOGIN PASSWORD 'your_secure_password';
GRANT CONNECT ON DATABASE your_database TO databox;
GRANT USAGE ON SCHEMA public TO databox;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO databox;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO databox;

Replace your_database with the name of the database you want to connect, and your_secure_password with a strong password. If you need to expose tables in additional schemas, repeat the GRANT USAGE and GRANT SELECT statements for each schema.

NoteNote: Avoid the following special characters in your password, as they can cause encoding issues when establishing the connection: `, ', ", /, \, and spaces.

Step 2: Enable a public IP address on your Cloud SQL instance

Databox connects to Cloud SQL over a public IP address. If your instance does not already have one assigned, enable it in the Google Cloud Console.

  1. In the Google Cloud Console, go to SQL and select your instance.
  2. Click Edit.
  3. Under Connections, expand Networking and ensure Public IP is enabled.
  4. Click Save to apply the change.

NoteNote: Your instance's public IP address is shown on the Overview tab of the Cloud SQL instance page, under Connect to this instance. Copy this value — you will need it in Step 4.

Step 3: Add the Databox IP to your authorized networks

Cloud SQL controls inbound network access through an authorized networks list. Add the Databox IP address as an authorized network so it can reach your instance on port 5432.

  1. In the Google Cloud Console, go to SQL and select your instance.
  2. Click Edit.
  3. Under Connections > Networking > Authorized networks, click Add a network.
  4. In the Network field, enter 52.4.198.118/32.
  5. Optionally enter a name (e.g., Databox) in the Name field.
  6. Click Done, then click Save.

Step 4: Enter your Cloud SQL connection details in Databox

  1. In Databox, go to Data Sources > + New connection.
  2. Search for Google Cloud for PostgreSQL and click Connect.
  3. Fill in the connection form:
    • Data source name — a label for this connection in Databox.
    • Host — the public IP address of your Cloud SQL instance, found on the instance's Overview tab in the Google Cloud Console (e.g., 34.123.45.67).
    • Port — the port your Cloud SQL instance listens on. The default for PostgreSQL is 5432.
    • User — the PostgreSQL role name created in Step 1.
    • Password — the password for that role.
    • Database name (optional) — the specific database to connect to. Leave blank to connect at the server level.
    • Timezone — the time zone used to interpret date values in query results. Defaults to Etc/UTC.
  4. Toggle Use SSL/TLS to enable encrypted connections.
  5. Click Connect.
connect

Datasets

The Google Cloud SQL for PostgreSQL integration supports the creation of datasets, which allow you to define and shape the specific data you want to use for reporting in Databox. Datasets make it easier to focus on the most relevant information, enabling you to filter, visualize, and analyze metrics across projects, teams, and clients without writing complex queries each time.

Steps to create a dataset

  1. Select a table: Pick the appropriate schema within that database.
  2. Select columns: Browse and select the specific columns (fields) from your tables or views to include in your dataset. These columns define the structure and content of your dataset.

Optional: Write SQL

For more advanced use cases, you can write a custom SQL query instead of selecting columns manually. This allows you to:

  • Join multiple tables
  • Apply filters and aggregations
  • Format or transform data before importing it into Databox

Your query must return a valid tabular result to be used as a dataset.

Additional resources

  • Cloud SQL for PostgreSQL documentation — Official Google Cloud docs for Cloud SQL for PostgreSQL, covering instance creation, connectivity, user management, security, backups, high availability, and replication.
  • Cloud SQL connection options — Overview of all available connection methods for Cloud SQL, including public IP, private IP, and the Cloud SQL Auth Proxy, with guidance on when to use each.

Resources

For comprehensive details on metrics, data availability, templates, specifications, usage guidelines, and other key information, refer to the resources listed below.

FAQ

Does Databox support Cloud SQL Auth Proxy or private IP connections?

No. Databox connects to Cloud SQL over a public IP address only. The Cloud SQL Auth Proxy and private IP connectivity are not supported. Your instance must have a public IP address enabled and the Databox IP (52.4.198.118) must be listed in the instance's authorized networks.

What should I do if Databox cannot connect to my Cloud SQL instance?

Check the following in order:

  1. Public IP is enabled on the instance (under Edit > Connections > Networking).
  2. The Authorized networks list includes 52.4.198.118/32.
  3. The PostgreSQL role was created with LOGIN privileges and the correct password.