PostgreSQL

Dialetos que usam essas instruções

Os dialetos a seguir compartilham os requisitos de configuração do 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 Application Default Credentials (ADC) como um método de autenticação. Consulte a documentação do Looker (núcleo do Google Cloud) para mais informações.

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

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

Como criptografar o tráfego de rede

É recomendável 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 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 (núcleo do Google Cloud) e quiser usar o ADC, use o nome de usuário da conta de serviço falsificada que você adicionou ao seu 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 do 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 no seu banco de dados:

    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 tabelas futuras 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 sua configuração, talvez seja necessário alterar os comandos anteriores. Se outro usuário ou função estiver criando tabelas para as quais o usuário do Looker precisará de permissões futuras, especifique uma função ou usuário alvo para aplicar as permissões 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 do 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 Dialect, selecione o nome do dialeto do 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 para a maioria dos dialetos de banco de dados. Consulte a página de documentação Como conectar o Looker ao seu 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 Teste de 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.20:

Recurso Compatível?
Nível de suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas persistentes do SQL
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Consulta de interrupção
Sim
Pivots baseados 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 SQL Runner
Sim
Índices de exibição do SQL Runner
Sim
SQL Runner Select 10
Sim
Contagem do SQL Runner
Sim
SQL Explain
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pooling de conexão
Sim
Esboços HLL
Não
Conscientização agregada
Sim
PDTs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada de valores distintos
Não

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

Recurso Compatível?
Nível de suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas persistentes do SQL
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Consulta de interrupção
Sim
Pivots baseados 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 SQL Runner
Sim
Índices de exibição do SQL Runner
Sim
SQL Runner Select 10
Sim
Contagem do SQL Runner
Sim
SQL Explain
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pooling de conexão
Sim
Esboços HLL
Não
Conscientização agregada
Sim
PDTs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada de valores distintos
Não

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

Recurso Compatível?
Nível de suporte
Compatível
Looker (Google Cloud Core)
Sim
Agregações simétricas
Sim
Tabelas derivadas
Sim
Tabelas derivadas persistentes do SQL
Sim
Tabelas derivadas nativas nativas
Sim
Visualizações estáveis
Sim
Consulta de interrupção
Sim
Pivots baseados 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 SQL Runner
Sim
Índices de exibição do SQL Runner
Sim
SQL Runner Select 10
Sim
Contagem do SQL Runner
Sim
SQL Explain
Sim
Credenciais do OAuth
Não
Comentários de contexto
Sim
Pooling de conexão
Sim
Esboços HLL
Não
Conscientização agregada
Sim
PDTs incrementais
Sim
Milissegundos
Sim
Microssegundos
Sim
Visualizações materializadas
Não
Contagem aproximada de valores distintos
Não