{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["availability","callout","img","partial","faq","faq-item"]},"type":"markdown","userRole":"Users, Editors, and Admins","accountType":"All accounts","plan":"Exclusive to select subscription plans"},"seo":{"title":"Integrate Google Cloud for PostgreSQL with Databox","description":"Report on Google Cloud PostgreSQL data in Databox by connecting your managed instance and building SQL-powered datasets.","siteUrl":"https://help.databox.com","llmstxt":{"title":"Databox Knowledge Base","description":"Databox is a business analytics platform that consolidates data in one place, enabling real-time performance tracking and insights by mixing and matching data from various sources for a comprehensive view.","details":{"content":"This knowledge base covers everything from account setup and integrations to building Databoards, creating custom metrics, and using AI-powered features."},"sections":[{"title":"General","includeFiles":["docs/general/*.md","docs/general/visualization-types/*.md","docs/general/templates/*.md"],"excludeFiles":[]},{"title":"AI","includeFiles":["docs/ai/*.md"],"excludeFiles":[]},{"title":"Account Management","includeFiles":["docs/account-management/**/*.md"],"excludeFiles":[]},{"title":"Databoards","includeFiles":["docs/databoards/**/*.md"],"excludeFiles":[]},{"title":"Data Management","includeFiles":["docs/data-management/**/*.md"],"excludeFiles":[]},{"title":"Metrics","includeFiles":["docs/metrics/**/*.md"],"excludeFiles":[]},{"title":"Forecasts","includeFiles":["docs/forecasts/*.md"],"excludeFiles":[]},{"title":"Goals","includeFiles":["docs/goals/*.md"],"excludeFiles":[]},{"title":"Reports","includeFiles":["docs/reports/*.md"],"excludeFiles":[]},{"title":"Notifications","includeFiles":["docs/notifications/*.md"],"excludeFiles":[]},{"title":"Pricing and Billing","includeFiles":["docs/pricing-and-billing/*.md"],"excludeFiles":[]},{"title":"Mobile","includeFiles":["docs/mobile/*.md"],"excludeFiles":[]},{"title":"Support","includeFiles":["docs/support/*.md"],"excludeFiles":[]},{"title":"Integrations","includeFiles":["docs/integrations/**/*.md"],"excludeFiles":[]}],"hide":false,"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"integrate-google-cloud-for-postgresql-with-databox","__idx":0},"children":["Integrate Google Cloud for PostgreSQL with Databox"]},{"$$mdtype":"Tag","name":"Availability","attributes":{"users":"users","accounts":"all","plans":"exclusive"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"connection","__idx":1},"children":["Connection"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you've already established a connection, you can ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/add-a-data-source"},"children":["reuse"]}," it to add new data sources to your Databox account."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-1-create-a-read-only-postgresql-role-for-databox","__idx":2},"children":["Step 1: Create a read-only PostgreSQL role for Databox"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Databox only reads data from your database — it never writes to it. Create a dedicated PostgreSQL role with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SELECT"]},"-only privileges on the schemas and tables you want to expose. You can run these commands using the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Cloud SQL Studio"]}," query editor in the Google Cloud Console, or via a PostgreSQL client connected to your instance."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"sql","header":{"controls":{"copy":{}}},"source":"CREATE ROLE databox WITH LOGIN PASSWORD 'your_secure_password';\nGRANT CONNECT ON DATABASE your_database TO databox;\nGRANT USAGE ON SCHEMA public TO databox;\nGRANT SELECT ON ALL TABLES IN SCHEMA public TO databox;\nALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO databox;\n","lang":"sql"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Replace ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["your_database"]}," with the name of the database you want to connect, and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["your_secure_password"]}," with a strong password. If you need to expose tables in additional schemas, repeat the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GRANT USAGE"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GRANT SELECT"]}," statements for each schema."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Callout","attributes":{"type":"note"},"children":["Avoid the following special characters in your password, as they can cause encoding issues when establishing the connection: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["`"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["'"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\""]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\\"]},", and spaces."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-2-enable-a-public-ip-address-on-your-cloud-sql-instance","__idx":3},"children":["Step 2: Enable a public IP address on your Cloud SQL instance"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://console.cloud.google.com/sql"},"children":["Google Cloud Console"]},", go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["SQL"]}," and select your instance."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Connections"]},", expand ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Networking"]}," and ensure ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Public IP"]}," is enabled."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]}," to apply the change."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"Callout","attributes":{"type":"note"},"children":["Your instance's public IP address is shown on the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Overview"]}," tab of the Cloud SQL instance page, under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Connect to this instance"]},". Copy this value — you will need it in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#step-4-enter-your-cloud-sql-connection-details-in-databox"},"children":["Step 4"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-3-add-the-databox-ip-to-your-authorized-networks","__idx":4},"children":["Step 3: Add the Databox IP to your authorized networks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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 ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["5432"]},"."]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://console.cloud.google.com/sql"},"children":["Google Cloud Console"]},", go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["SQL"]}," and select your instance."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Connections > Networking > Authorized networks"]},", click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Add a network"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Network"]}," field, enter ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["52.4.198.118/32"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Optionally enter a name (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Databox"]},") in the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Name"]}," field."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Done"]},", then click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Save"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"step-4-enter-your-cloud-sql-connection-details-in-databox","__idx":5},"children":["Step 4: Enter your Cloud SQL connection details in Databox"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["In Databox, go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data Sources > + New connection"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Search for ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Google Cloud for PostgreSQL"]}," and click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Connect"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Fill in the connection form:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Data source name"]}," — a label for this connection in Databox."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Host"]}," — the public IP address of your Cloud SQL instance, found on the instance's ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Overview"]}," tab in the Google Cloud Console (e.g., ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["34.123.45.67"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Port"]}," — the port your Cloud SQL instance listens on. The default for PostgreSQL is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["5432"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["User"]}," — the PostgreSQL role name created in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#step-1-create-a-read-only-postgresql-role-for-databox"},"children":["Step 1"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Password"]}," — the password for that role."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Database name"]}," (optional) — the specific database to connect to. Leave blank to connect at the server level."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Timezone"]}," — the time zone used to interpret date values in query results. Defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Etc/UTC"]},"."]}]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Toggle ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Use SSL/TLS"]}," to enable encrypted connections."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Connect"]},"."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/integrate-google-cloud-for-postgresql-with-databox_1.44446c79eac02c9d8c18ef69dcbf6b2c933200c06af1435fc9996b133347195d.4783b0ec.png","alt":"connect","withLightbox":true,"className":"ss-img"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"datasets","__idx":6},"children":["Datasets"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Google Cloud SQL for PostgreSQL integration supports the creation of ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/understanding-datasets"},"children":["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."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"steps-to-create-a-dataset","__idx":7},"children":["Steps to create a dataset"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Select a table"]},": Pick the appropriate schema within that database."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["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."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"optional-write-sql","__idx":8},"children":["Optional: Write SQL"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more advanced use cases, you can write a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["custom SQL query"]}," instead of selecting columns manually. This allows you to:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Join multiple tables"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Apply filters and aggregations"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Format or transform data before importing it into Databox"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Your query must return a valid tabular result to be used as a dataset."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"additional-resources","__idx":9},"children":["Additional resources"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://cloud.google.com/sql/docs/postgres"},"children":["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."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://cloud.google.com/sql/docs/postgres/connect-overview"},"children":["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."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"resources","__idx":10},"children":["Resources"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For comprehensive details on metrics, data availability, templates, specifications, usage guidelines, and other key information, refer to the resources listed below."]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":4,"cardMinWidth":240},"children":[{"$$mdtype":"Tag","name":"IntegrationResources","attributes":{"integrationKey":"google-cloud-for-postgresql","hideMetrics":true},"children":[]}]},{"$$mdtype":"Tag","name":"Faq","attributes":{},"children":[{"$$mdtype":"Tag","name":"FaqItem","attributes":{"question":"Does Databox support Cloud SQL Auth Proxy or private IP connections?"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["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 (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["52.4.198.118"]},") must be listed in the instance's authorized networks."]}]},{"$$mdtype":"Tag","name":"FaqItem","attributes":{"question":"What should I do if Databox cannot connect to my Cloud SQL instance?"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Check the following in order:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Public IP"]}," is enabled on the instance (under ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Edit > Connections > Networking"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Authorized networks"]}," list includes ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["52.4.198.118/32"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The PostgreSQL role was created with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LOGIN"]}," privileges and the correct password."]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[" "]},{"$$mdtype":"Tag","name":"Cards","attributes":{"columns":4,"cardMinWidth":160},"children":[{"$$mdtype":"Tag","name":"FooterCard","attributes":{"title":"Ask Genie","icon":"genie","to":"https://app.databox.com/genie","variant":"elevated"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Get instant answers or help with your data using the in-app AI assistant."]}]},{"$$mdtype":"Tag","name":"FooterCard","attributes":{"title":"Talk to an expert","icon":"assistance","to":"https://meetings.hubspot.com/databox-meeting/account-management","variant":"elevated"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For customers: Get help with your setup, strategy, or making the most of Databox."]}]},{"$$mdtype":"Tag","name":"FooterCard","attributes":{"title":"Book a demo","icon":"eye-open","to":"https://meetings.hubspot.com/databox-meeting/ref-knowledge-base","variant":"elevated"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["New to Databox? See how it works and get guidance on getting started."]}]},{"$$mdtype":"Tag","name":"FooterCard","attributes":{"title":"Send an email","icon":"help","to":"mailto:help@databox.com","variant":"elevated"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Reach out to support for help with your account, data, or technical issues."]}]}]}]},"headings":[{"value":"Integrate Google Cloud for PostgreSQL with Databox","id":"integrate-google-cloud-for-postgresql-with-databox","depth":1},{"value":"Connection","id":"connection","depth":2},{"value":"Step 1: Create a read-only PostgreSQL role for Databox","id":"step-1-create-a-read-only-postgresql-role-for-databox","depth":3},{"value":"Step 2: Enable a public IP address on your Cloud SQL instance","id":"step-2-enable-a-public-ip-address-on-your-cloud-sql-instance","depth":3},{"value":"Step 3: Add the Databox IP to your authorized networks","id":"step-3-add-the-databox-ip-to-your-authorized-networks","depth":3},{"value":"Step 4: Enter your Cloud SQL connection details in Databox","id":"step-4-enter-your-cloud-sql-connection-details-in-databox","depth":3},{"value":"Datasets","id":"datasets","depth":2},{"value":"Steps to create a dataset","id":"steps-to-create-a-dataset","depth":3},{"value":"Optional: Write SQL","id":"optional-write-sql","depth":3},{"value":"Additional resources","id":"additional-resources","depth":3},{"value":"Resources","id":"resources","depth":2}],"frontmatter":{"slug":"integrate-google-cloud-for-postgresql-with-databox","seo":{"title":"Integrate Google Cloud for PostgreSQL with Databox","description":"Report on Google Cloud PostgreSQL data in Databox by connecting your managed instance and building SQL-powered datasets."},"keywords":{"includes":["Google Cloud PostgreSQL integration","connect Google Cloud PostgreSQL to Databox","Google Cloud PostgreSQL dataset","Google Cloud custom SQL query","Google Cloud read-only role","Cloud PostgreSQL authorized networks Databox","whitelist Databox IP Cloud SQL","Google Cloud SSL TLS","Cloud PostgreSQL public IP Databox","Google Cloud cannot connect","Cloud PostgreSQL port 5432"]},"metadata":{"userRole":"Users, Editors, and Admins","accountType":"All accounts","plan":"Exclusive to select subscription plans"}},"lastModified":"2026-04-17T19:27:17.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/integrate-google-cloud-for-postgresql-with-databox","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}