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
  • PostgreSQL do Microsoft Azure
  • AlloyDB para PostgreSQL
  • PostgreSQL do Amazon Aurora
  • Amazon RDS para PostgreSQL

Para o 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 de integração para AlloyDB para PostgreSQL, Amazon RDS para PostgreSQL e 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ê tiver interesse em usar criptografia SSL, consulte a documentação do PostgreSQL (em inglês).

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 sua 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 ficaria assim: service-<project number>@gcp-sa-looker.iam.

Para configurar um usuário do banco de dados para ser usado pelo Looker, siga estas etapas:

  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 futuras 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 cria tabelas e você quer que o usuário looker possa usá-las, execute uma instrução GRANT para dar a looker permissões de usuário nas tabelas criadas por web_app. O papel ou usuário de destino, neste caso, é o usuário web_app, o que significa que você quer alterar os privilégios nas tabelas criadas por web_app para que o usuário looker tenha permissões 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 de propriedade do usuário do Looker:

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres no Amazon RDS

Crie um esquema de rascunho:

CREATE SCHEMA SCHEMA_NAME;

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

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Como definir o search_path

Antes de conectar o Looker ao banco de dados, defina um search_path apropriado, que o Looker SQL Runner pode usar para recuperar 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

Como 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 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 ser compatível com eles.

A partir do Looker 24.10, o PostgreSQL 9.5 ou mais recente é compatível com os seguintes recursos:

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de 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
Processos de exibição do SQL Runner
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
Explicação do SQL
Sim
Credenciais OAuth
No
Comentários de contexto
Sim
Pool de conexão
Sim
Esboços do HLL
No
Agregar reconhecimento
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
No
Contagem aproximada diferente
No

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

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de 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
Processos de exibição do SQL Runner
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
Explicação do SQL
Sim
Credenciais OAuth
No
Comentários de contexto
Sim
Pool de conexão
Sim
Esboços do HLL
No
Agregar reconhecimento
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
No
Contagem aproximada diferente
No

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

Engenharia de Compatível?
Nível do suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas de 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
Processos de exibição do SQL Runner
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
Explicação do SQL
Sim
Credenciais OAuth
No
Comentários de contexto
Sim
Pool de conexão
Sim
Esboços do HLL
No
Agregar reconhecimento
Sim
TDPs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
No
Contagem aproximada diferente
No