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

Pour Google Cloud SQL pour PostgreSQL, Looker (Google Cloud Core) propose les identifiants par défaut de l'application (ADC) comme méthode d'authentification. Pour en savoir plus, consultez la documentation 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 ou version ultérieure dans le menu déroulant Dialecte de la page 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. Pour ce faire, consultez les options détaillées sur la page de documentation Sécurisation de l'accès à la base de données.

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 dans votre base de données.

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 le nom d'utilisateur tronqué, il ressemble à 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 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 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 l'outil SQL Runner de Looker peut utiliser pour extraire 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. Pour obtenir des informations sur le dépannage, consultez la page de documentation Tester la connectivité de la base de données.

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

Compatibilité des caractéristiques

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 24.16 :

Caractéristique Compatibilité
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 JDBC supplémentaires
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 SQL Runner
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
Résumés HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif d'éléments distincts
Non

Google Cloud PostgreSQL est compatible avec les fonctionnalités suivantes à partir de Looker 24.16 :

Caractéristique Compatibilité
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 JDBC supplémentaires
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 SQL Runner
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
Résumés HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif d'éléments distincts
Non

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

Caractéristique Compatibilité
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 JDBC supplémentaires
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 SQL Runner
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
Résumés HLL
Non
Reconnaissance d'agrégats.
Oui
Augmentation de tables PDT
Oui
Millisecondes
Oui
Microsecondes
Oui
Vues matérialisées
Non
Nombre approximatif d'éléments distincts
Non