How to Connect Snowflake to Looker in PostgreSQL

Galaxy Glossary

How do I connect Snowflake to Looker?

Connect Snowflake to Looker by creating a dedicated Snowflake user/role, granting read permissions, and configuring the Looker connection screen.

Sign up for the latest in SQL knowledge from the Galaxy Team!
Welcome to the Galaxy, Guardian!
Oops! Something went wrong while submitting the form.

Description

Why connect Snowflake to Looker?

Connecting Snowflake to Looker lets analysts build curated dashboards on fresh data without manual exports. The BI layer pushes SQL directly to Snowflake, leveraging its elastic compute and secure data governance.

What credentials does Looker need?

Looker requires a Snowflake username, password, account identifier (e.g., ab12345.us-east-1), warehouse, database, schema, and optionally a role. A read-only service user is recommended.

How do I create a Snowflake user for Looker?

Run the SQL below as a security administrator or higher.It creates a role, user, and grants read-only access to ecommerce tables such as Customers, Orders, Products, and OrderItems.

CREATE ROLE looker_role;
GRANT USAGE ON WAREHOUSE reporting_wh TO ROLE looker_role;
GRANT USAGE ON DATABASE analytics TO ROLE looker_role;
GRANT USAGE ON SCHEMA analytics.public TO ROLE looker_role;
GRANT SELECT ON ALL TABLES IN SCHEMA analytics.public TO ROLE looker_role;
GRANT SELECT ON FUTURE TABLES IN SCHEMA analytics.public TO ROLE looker_role;.

CREATE USER looker_user PASSWORD='StrongPass123!'
DEFAULT_ROLE=looker_role
DEFAULT_WAREHOUSE=reporting_wh
DEFAULT_NAMESPACE=analytics.public
MUST_CHANGE_PASSWORD=FALSE;

GRANT ROLE looker_role TO USER looker_user;

How do I configure the Looker connection screen?

In Looker » Admin » Connections, choose “Snowflake”. Enter the account identifier, warehouse (reporting_wh), database (analytics), schema (public), username (looker_user), password, and role (looker_role). Leave SSL and host defaults unless using a private link.

Which optional parameters improve performance?

Add query_tag=looker for monitoring, enable persistent_derived_tables for complex Looks, and pick an X-Small or Small warehouse for cost-efficient caching.

How to test and validate the connection?

Click “Test These Settings” in Looker.A green check confirms connectivity. Looker runs SELECT 1 plus sample queries against analytics.public. Verify usage in Snowflake’s QUERY_HISTORY view.

How to grant Looker access to ecommerce tables?

As new tables arrive, keep access automatic by granting SELECT ON FUTURE TABLES IN SCHEMA analytics.public TO ROLE looker_role.For separate schemas, repeat the GRANT statements.

Best practices for security and cost control

Rotate the Looker user’s password quarterly, restrict the role to read-only privileges, and use a dedicated warehouse with auto-suspend at 60 seconds to minimize credits.

.

Why How to Connect Snowflake to Looker in PostgreSQL is important

How to Connect Snowflake to Looker in PostgreSQL Example Usage


SELECT c.id,
       c.name,
       COUNT(o.id)       AS order_count,
       SUM(o.total_amount) AS lifetime_value
FROM   Customers c
LEFT JOIN Orders o ON o.customer_id = c.id
GROUP  BY c.id, c.name
ORDER  BY lifetime_value DESC
LIMIT 10;

How to Connect Snowflake to Looker in PostgreSQL Syntax


CREATE ROLE <role_name>;
GRANT USAGE ON WAREHOUSE <warehouse> TO ROLE <role_name>;
GRANT USAGE ON DATABASE <database> TO ROLE <role_name>;
GRANT USAGE ON SCHEMA <database>.<schema> TO ROLE <role_name>;
GRANT SELECT ON [ALL | FUTURE] TABLES IN SCHEMA <database>.<schema> TO ROLE <role_name>;

CREATE USER <user_name> PASSWORD='<password>'
  DEFAULT_ROLE=<role_name>
  DEFAULT_WAREHOUSE=<warehouse>
  DEFAULT_NAMESPACE=<database>.<schema>
  MUST_CHANGE_PASSWORD=FALSE;

GRANT ROLE <role_name> TO USER <user_name>;

Common Mistakes

Frequently Asked Questions (FAQs)

Can I use OAuth instead of a username/password?

Yes. Enable Snowflake OAuth in Looker Admin » Authentication and register Looker as an OAuth client in Snowflake. Users then authenticate through OAuth tokens.

Do I need a separate warehouse for Looker?

Using a dedicated, auto-suspending warehouse prevents analytical workloads from slowing down ETL jobs and gives clear cost attribution.

How can I limit Looker to specific schemas?

Grant USAGE and SELECT only on the schemas you want in Looker. Omit or revoke privileges on other schemas to keep sensitive data hidden.

Want to learn about other SQL terms?

Trusted by top engineers on high-velocity teams
Aryeo Logo
Assort Health
Curri
Rubie
BauHealth Logo
Truvideo Logo
Welcome to the Galaxy, Guardian!
Oops! Something went wrong while submitting the form.