PostgreSQL

Dialetos que usam estas instruções

Os seguintes dialetos compartilham requisitos de configuração de banco de dados conforme descrito nesta página:

  • PostgreSQL
  • Google Cloud SQL para PostgreSQL
  • Microsoft Azure PostgreSQL
  • AlloyDB para PostgreSQL
  • Amazon Aurora PostgreSQL
  • Amazon RDS para PostgreSQL

No Google Cloud SQL para PostgreSQL, o Looker (Google Cloud Core) oferece o Application Default Credentials (ADC) como um método de autenticação. Consulte a documentação do Looker (Google Cloud Core) para mais informações.

O Looker tem suporte à integração para o AlloyDB para PostgreSQL, o Amazon RDS para PostgreSQL e o Amazon Aurora PostgreSQL. Para criar uma conexão para esses dialetos, selecione PostgreSQL 9.5+ no menu suspenso Dialeto da página Nova conexão.

Para o PostgreSQL no Heroku, consulte a documentação do Heroku.

Como criptografar o tráfego de rede

É uma prática recomendada criptografar o tráfego de rede entre o aplicativo Looker e seu banco de dados. Considere uma das opções descritas na página de documentação Como ativar o acesso seguro ao banco de dados.

Se você quiser usar a criptografia SSL, consulte a documentação do PostgreSQL.

Usuários e segurança

Para realizar ações no seu banco de dados, o Looker precisa ter uma conta de usuário nele.

Se você estiver em uma instância do Looker (Google Cloud Core) e quiser usar o ADC, use o nome de usuário da conta de serviço personificada que você adicionou ao banco de dados do Cloud SQL. O nome de usuário da conta de serviço terá o formato service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Se o nome de usuário da conta de serviço terminar com .gserviceaccount.com, remova a parte .gserviceaccount.com do nome de usuário. Depois de truncado, o nome de usuário vai ficar assim: service-<project number>@gcp-sa-looker.iam.

Para configurar um usuário do banco de dados para o Looker usar, siga estas etapas no seu banco de dados:

  1. Crie um usuário e uma senha para o banco de dados.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Conceda permissões ao usuário do banco de dados para que o Looker possa realizar ações nele:

    GRANT CONNECT ON DATABASE DATABASE_NAME to USERNAME;
    \c DATABASE_NAME
    GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO USERNAME;
    GRANT SELECT ON ALL TABLES IN SCHEMA public TO USERNAME;
    
  3. Se você estiver usando um esquema diferente de public, execute este comando para conceder permissões de uso ao Looker:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Para garantir que as próximas tabelas adicionadas ao esquema público também estejam disponíveis para o usuário do Looker, execute estes comandos:

    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON tables TO USERNAME;
    ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON sequences TO USERNAME;
    

Dependendo da configuração, pode ser necessário alterar os comandos anteriores. Se outro usuário ou papel estiver criando tabelas para as quais o usuário do Looker precisa de permissões futuras, especifique um papel ou usuário de destino para aplicar as concessões de permissão do usuário do Looker a:

ALTER DEFAULT PRIVILEGES FOR USER ANOTHER_USERNAME IN SCHEMA SCHEMA_NAME GRANT SELECT ON tables TO USERNAME;
ALTER DEFAULT PRIVILEGES FOR ROLE TARGET_ROLE IN SCHEMA SCHEMA_NAME GRANT SELECT ON sequences TO USERNAME;

Por exemplo, se um usuário web_app criar tabelas e você quiser que o usuário looker possa usá-las, execute uma instrução GRANT para conceder permissões ao usuário looker nas tabelas criadas pelo usuário web_app. A função ou o usuário de destino neste caso é o usuário web_app. Isso significa que você quer alterar os privilégios em tabelas criadas por web_app para que o usuário looker tenha permissão para ler as tabelas. Veja um exemplo:

ALTER DEFAULT PRIVILEGES FOR USER web_app IN SCHEMA public GRANT SELECT ON tables TO looker;

Consulte ALTER DEFAULT PRIVILEGES no site do PostgreSQL para mais informações.

Configuração de esquema temporário

Postgres auto-hospedado

Crie um esquema que seja de propriedade do usuário do Looker:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres no Amazon RDS

Crie um esquema do zero:

CREATE SCHEMA SCHEMA_NAME;

Mude a propriedade do esquema de scratch para o usuário do Looker:

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Como definir o search_path

Antes de conectar o Looker ao seu banco de dados, defina um search_path adequado, que o executor de SQL do Looker pode usar para extrair determinados metadados do banco de dados:

ALTER USER USERNAME SET search_path TO '$user',SCHEMA_NAME,SCHEMA_NAME_2,SCHEMA_NAME_3
                                                            ^^^^^^^^^^^^^^^^^^
                                                            ^^^^^^^^^^^^^^^^^^
                                             include a comma-separated list of
                                            all schemas you'll use with Looker

Criar a conexão do Looker com seu banco de dados

Siga estas etapas para criar a conexão do Looker com seu banco de dados:

  1. Na seção Administrador do Looker, selecione Conexões e clique em Adicionar conexão.
  2. No menu suspenso Dialeto, selecione o nome do dialeto do seu banco de dados. Para o dialeto do AlloyDB para PostgreSQL, selecione PostgreSQL 9.5+.

  3. Preencher os detalhes de conexão. A maioria das configurações é comum à maioria dos dialetos de banco de dados. Consulte a página de documentação Como conectar o Looker ao banco de dados para mais informações.

  4. Para verificar se a conexão foi bem-sucedida, clique em Testar. Consulte a página de documentação Como testar a conectividade do banco de dados para informações sobre solução de problemas.

  5. Para salvar essas configurações, clique em Conectar.

Suporte a recursos

Para que o Looker ofereça suporte a alguns recursos, o dialeto do banco de dados também precisa oferecer suporte a eles.

O PostgreSQL 9.5 e versões mais recentes oferecem suporte aos seguintes recursos a partir do Looker 24.16:

Recurso Compatível?
Nível de suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
Sim
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
SQL Runner Show Processes
Sim
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
SQL Explain
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pool de conexões
Sim
Esboços HLL
Não
Agregar reconhecimento
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada distinta
Não

O Google Cloud PostgreSQL oferece suporte aos seguintes recursos a partir do Looker 24.16:

Recurso Compatível?
Nível de suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
Sim
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
SQL Runner Show Processes
Sim
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
SQL Explain
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pool de conexões
Sim
Esboços HLL
Não
Agregar reconhecimento
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada distinta
Não

O Microsoft Azure PostgreSQL oferece suporte aos seguintes recursos a partir do Looker 24.16:

Recurso Compatível?
Nível de suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas SQL persistentes
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Eliminação de consultas
Sim
Dinâmicas baseadas em SQL
Sim
Fusos horários
Sim
SSL
Sim
Subtotais
Sim
Parâmetros adicionais do JDBC
Sim
Diferenciar maiúsculas e minúsculas
Sim
Tipo de local
Sim
Tipo de lista
Sim
Percentil
Sim
Percentil distinto
Sim
SQL Runner Show Processes
Sim
Tabela de descrição do executor do SQL
Sim
Mostrar índices do SQL Runner
Sim
Seleção do SQL Runner 10
Sim
Contagem de executores do SQL
Sim
SQL Explain
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pool de conexões
Sim
Esboços HLL
Não
Agregar reconhecimento
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada distinta
Não