PostgreSQL

Pour connecter Looker à une base de données PostgreSQL, vous devez configurer votre base de données. Ce document explique comment configurer des comptes utilisateur, accorder les autorisations requises et définir les paramètres de schéma et de connexion. Pour en savoir plus sur PostgreSQL sur Heroku ou Cloud SQL pour PostgreSQL, consultez leur documentation.

Dialectes utilisant ces instructions

Les dialectes suivants partagent les exigences de configuration de base de données décrites sur cette page :

  • PostgreSQL
  • Microsoft Azure PostgreSQL
  • Amazon Aurora PostgreSQL
  • Amazon RDS pour PostgreSQL

Pour Amazon RDS pour PostgreSQL et Amazon Aurora PostgreSQL, Looker inclut la compatibilité avec l'intégration.

Pour PostgreSQL sous Heroku, consultez la documentation d'Heroku.

Pour Google Cloud SQL pour PostgreSQL, consultez notre page dédiée Google Cloud SQL pour PostgreSQL.

Chiffrement du trafic réseau

Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Pour ce faire, consultez les options détaillées sur la page Sécurisation de l'accès à la base de données de la documentation.

Si vous envisagez d'utiliser le chiffrement SSL, consultez la documentation PostgreSQL.

Utilisateurs et sécurité

Pour effectuer des actions sur votre base de données, Looker doit disposer d'un compte utilisateur sur votre base de données.

Pour configurer un utilisateur de base de données que Looker pourra utiliser, procédez comme suit sur votre base de données :

  1. Créez un utilisateur et un mot de passe de base de données.

    CREATE USER USERNAME WITH ENCRYPTED PASSWORD 'PASSWORD';
    
  2. Accordez des autorisations à l'utilisateur de la base de données afin que Looker puisse effectuer des actions sur votre base de données :

    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. Si vous utilisez un schéma autre que public, exécutez cette commande pour accorder des autorisations d'utilisation à Looker :

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Pour être certain qu'à l'avenir, les tables que vous ajouterez au schéma public soient elles aussi accessibles à l'utilisateur Looker, exécutez les commandes suivantes :

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

En fonction de votre configuration, les commandes précédentes peuvent nécessiter une modification. Si un autre utilisateur ou rôle crée des tables pour lesquelles l'utilisateur Looker aura besoin d'autorisations à l'avenir, vous devez spécifier un rôle ou un utilisateur cible auquel appliquer les autorisations de l'utilisateur Looker :

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;

Par exemple, si un utilisateur web_app crée des tables et que vous souhaitez que l'utilisateur looker puisse les utiliser, vous devez exécuter une instruction GRANT pour accorder à l'utilisateur looker des autorisations sur les tables créées par l'utilisateur web_app. Dans ce cas, le rôle ou l'utilisateur cible est l'utilisateur web_app. Cela signifie que vous souhaitez modifier les droits sur les tables créées par web_app afin que l'utilisateur looker puisse disposer des autorisations nécessaires pour lire les tables. Voici un exemple :

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

Pour en savoir plus, consultez ALTER DEFAULT PRIVILEGES sur le site Web de PostgreSQL.

Configuration d'un schéma temporaire

Postgres auto-hébergé

Créez un schéma dont le propriétaire est l'utilisateur Looker :

CREATE SCHEMA SCHEMA_NAME AUTHORIZATION USERNAME;

Postgres sous Amazon RDS

Créez un schéma entièrement nouveau :

CREATE SCHEMA SCHEMA_NAME;

Remplacez le propriétaire du nouveau schéma par l'utilisateur Looker :

ALTER SCHEMA SCHEMA_NAME OWNER TO USERNAME;

Définir le search_path

Avant de connecter Looker à votre base de données, vous devez définir un search_path approprié, que l'exécuteur SQL de Looker peut utiliser pour récupérer certaines métadonnées de votre base de données :

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

Créer la connexion entre Looker et votre base de données

Pour créer la connexion entre Looker et votre base de données, procédez comme suit :

  1. Ouvrez la page Connecter votre base de données à Looker en effectuant l'une des opérations suivantes :

    • Cliquez sur l'icône Menu principal, sélectionnez Admin, puis Connections dans la section Database du panneau d'administration Admin. Sur la page Connexions, cliquez sur le bouton Ajouter une connexion.
    • Cliquez sur le bouton Créer dans le menu de navigation principal, puis sélectionnez l'élément de menu Connexion.
  2. Dans le menu déroulant Dialecte, sélectionnez le nom du dialecte de votre base de données :

    • Pour Microsoft Azure PostgreSQL, sélectionnez Microsoft Azure PostgreSQL.
    • Pour PostgreSQL, sélectionnez PostgreSQL 9.5+ ou PostgreSQL antérieur à 9.5, selon votre version de PostgreSQL.
    • Pour Amazon RDS pour PostgreSQL et Amazon Aurora PostgreSQL, sélectionnez PostgreSQL 9.5 ou version ultérieure.
  3. Saisissez les informations de connexion. La majorité des paramètres sont communs à la plupart des dialectes de base de données. Pour en savoir plus, consultez la page de documentation Connecter Looker à votre base de données.

  4. Pour vérifier que la connexion est établie, cliquez sur le bouton Tester la connexion dans la section Détails de l'état en bas de la page Paramètres de connexion.

  5. Si Looker affiche Connexion possible, appuyez sur Connecter pour créer la connexion.

Votre connexion de base de données est ensuite ajoutée à la liste de la page Connexions de la section Admin de Looker.

Paramètres JDBC compatibles

Pour PostgreSQL, Looker accepte les paramètres JDBC suivants dans le champ Paramètres JDBC supplémentaires de la connexion. Pour en savoir plus sur ces paramètres, consultez la documentation de votre base de données.

  • allowEncodingChanges
  • ApplicationName
  • assumeMinServerVersion
  • binaryTransfer
  • binaryTransferDisable
  • binaryTransferEnable
  • cancelSignalTimeout
  • connectTimeout
  • currentSchema
  • databaseMetadataCacheFields
  • defaultRowFetchSize
  • escapeSyntaxCallMode
  • gssEncMode
  • hostRecheckSeconds
  • jaasApplicationName
  • jaasLogin
  • kerberosServerName
  • loadBalanceHosts
  • loginTimeout
  • logServerErrorDetail
  • options
  • password
  • preferQueryMode
  • preparedStatementCacheQueries
  • prepareThreshold
  • queryTimeout
  • readOnly
  • reWriteBatchedInserts
  • socketTimeout
  • ssl
  • sslfactory
  • sslhostnameverifier
  • sslmode
  • sslNegotiation
  • sslpassword
  • sslpasswordcallback
  • stringtype
  • targetServerType
  • tcpKeepAlive
  • unknownLength
  • user

Prise en charge de fonctionnalités

Pour que Looker prenne en charge certaines fonctionnalités, votre dialecte de base de données doit également les prendre en charge.

PostgreSQL 9.5 et versions ultérieures sont compatibles avec les fonctionnalités suivantes à partir de Looker 26.22 :

Fonctionnalité Compatibilité
Looker (Google Cloud Core)
Agrégations symétriques
Tables dérivées
Tables dérivées SQL persistantes
Tables dérivées natives persistantes
Vues stables
Arrêt des requêtes
Pivots basés sur SQL
Fuseaux horaires
SSL
Sous-totaux
Paramètres JDBC supplémentaires
Sensible à la casse
Type de lieu
Type de liste
Centile
Centile distinct
Afficher les processus dans l'exécuteur SQL
Décrire la table dans l'exécuteur SQL
Afficher les index dans l'exécuteur SQL
Sélectionner 10 dans l'exécuteur SQL
Nombre d'exécuteurs SQL
SQL Explain
Identifiants OAuth 2.0
Commentaires sur le contexte
Regroupement de connexions
Résumés HLL
Reconnaissance d'agrégats
Augmentation de tables PDT
Millisecondes
Microsecondes
Vues matérialisées
Mesures de variation par période
Nombre approximatif d'éléments distincts
Modèles d'analyse dans la base de données
Agendas personnalisés

Microsoft Azure PostgreSQL prend en charge les fonctionnalités suivantes à partir de Looker 26.22 :

Fonctionnalité Compatibilité
Looker (Google Cloud Core)
Agrégations symétriques
Tables dérivées
Tables dérivées SQL persistantes
Tables dérivées natives persistantes
Vues stables
Arrêt des requêtes
Pivots basés sur SQL
Fuseaux horaires
SSL
Sous-totaux
Paramètres JDBC supplémentaires
Sensible à la casse
Type de lieu
Type de liste
Centile
Centile distinct
Afficher les processus dans l'exécuteur SQL
Décrire la table dans l'exécuteur SQL
Afficher les index dans l'exécuteur SQL
Sélectionner 10 dans l'exécuteur SQL
Nombre d'exécuteurs SQL
SQL Explain
Identifiants OAuth 2.0
Commentaires sur le contexte
Regroupement de connexions
Résumés HLL
Reconnaissance d'agrégats
Augmentation de tables PDT
Millisecondes
Microsecondes
Vues matérialisées
Mesures de variation par période
Nombre approximatif d'éléments distincts
Modèles d'analyse dans la base de données
Agendas personnalisés