PostgreSQL

Dialectes utilisant ces instructions

Les dialectes suivants partagent les exigences de configuration de la base de données, comme décrit sur cette page:

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

Concernant Google Cloud SQL pour PostgreSQL, Looker (Google Cloud Core) propose des identifiants par défaut de l'application (ADC) comme méthode d'authentification. Pour en savoir plus, consultez la documentation de Looker (Google Cloud Core).

Pour AlloyDB pour PostgreSQL, Amazon RDS pour PostgreSQL et Amazon Aurora PostgreSQL, Looker offre une prise en charge de l'intégration. Pour créer une connexion pour ces dialectes, sélectionnez PostgreSQL 9.5+ dans la liste déroulante Dialect (Dialecte) de la page New Connection (Nouvelle connexion).

Pour PostgreSQL sur Heroku, consultez la documentation Heroku.

Chiffrement du trafic réseau

Il est recommandé de chiffrer le trafic réseau entre l'application Looker et votre base de données. Envisagez l'une des options décrites sur la page de documentation Activer l'accès sécurisé à la base de données.

Si vous souhaitez utiliser le chiffrement SSL, consultez la documentation PostgreSQL.

Utilisateurs et sécurité

Pour pouvoir effectuer des actions sur votre base de données, Looker doit y avoir un compte utilisateur.

Si vous utilisez une instance Looker (Google Cloud Core) et que vous souhaitez utiliser ADC, utilisez le nom d'utilisateur du compte de service usurpé que vous avez ajouté à votre base de données Cloud SQL. Le nom d'utilisateur du compte de service est au format service-<project number>@gcp-sa-looker.iam.gserviceaccount.com. Si le nom d'utilisateur de votre compte de service se termine par .gserviceaccount.com, supprimez la partie .gserviceaccount.com du nom d'utilisateur. Une fois tronqué, le nom d'utilisateur ressemble à ceci : service-<project number>@gcp-sa-looker.iam.

Pour configurer un utilisateur de base de données pour Looker, 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 pour que Looker puisse y effectuer des actions:

    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 la commande suivante pour accorder des autorisations d'utilisation à Looker:

    GRANT USAGE ON SCHEMA SCHEMA_NAME TO USERNAME;
    
  4. Pour vous assurer que les tables que vous ajouterez à l'avenir au schéma public seront également 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 a besoin d'autorisations futures, 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, ce qui signifie que vous souhaitez modifier les droits sur les tables créées par web_app afin que l'utilisateur looker puisse avoir les 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 la section 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 search_path

Avant de connecter Looker à votre base de données, vous devez définir un search_path approprié, que Looker SQL Runner pourra 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 you'll use with Looker

Créer la connexion Looker à votre base de données

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

  1. Dans la section Admin de Looker, sélectionnez Connexions, puis cliquez sur Ajouter une connexion.
  2. Dans le menu déroulant Dialecte, sélectionnez le nom de votre dialecte de base de données. Pour le dialecte AlloyDB pour PostgreSQL, sélectionnez PostgreSQL 9.5+.

  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 Test (Tester). Consultez la page de documentation Tester la connectivité de la base de données pour obtenir des informations de dépannage.

  5. Pour enregistrer ces paramètres, cliquez sur Connecter.

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 prennent en charge les fonctionnalités suivantes à partir de Looker 24.10:

Sélection Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Suppression des requêtes
Oui
Tableaux croisés dynamiques basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres supplémentaires JDBC
Oui
Sensible à la casse
Oui
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Processus d'affichage de l'exécuteur SQL
Oui
Table de description de l'exécuteur SQL
Oui
Index d'affichage de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
Oui
Pooling des connexions
Oui
HLL Sketches
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non

Google Cloud PostgreSQL prend en charge les fonctionnalités suivantes à partir de Looker 24.10:

Sélection Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Suppression des requêtes
Oui
Tableaux croisés dynamiques basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres supplémentaires JDBC
Oui
Sensible à la casse
Oui
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Processus d'affichage de l'exécuteur SQL
Oui
Table de description de l'exécuteur SQL
Oui
Index d'affichage de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
Oui
Pooling des connexions
Oui
HLL Sketches
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non

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

Sélection Compatible ?
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées SQL persistantes
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Suppression des requêtes
Oui
Tableaux croisés dynamiques basés sur SQL
Oui
Fuseaux horaires
Oui
SSL
Oui
Sous-totaux
Oui
Paramètres supplémentaires JDBC
Oui
Sensible à la casse
Oui
Type d'emplacement
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Processus d'affichage de l'exécuteur SQL
Oui
Table de description de l'exécuteur SQL
Oui
Index d'affichage de l'exécuteur SQL
Oui
SQL Runner Select 10
Oui
Nombre d'exécuteurs SQL
Oui
SQL Explain
Oui
Identifiants OAuth
Non
Commentaires sur le contexte
Oui
Pooling des connexions
Oui
HLL Sketches
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif distinct
Non