PostgreSQL

Dialectes utilisant ces instructions

Les dialectes suivants partagent les conditions de configuration de base de données décrites 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).

Looker est compatible avec AlloyDB pour PostgreSQL, Amazon RDS pour PostgreSQL et Amazon Aurora PostgreSQL. Pour créer une connexion pour ces dialectes, sélectionnez PostgreSQL 9.5+ 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 a besoin d'un compte utilisateur sur celle-ci.

Si vous utilisez une instance Looker (Google Cloud Core) et que vous souhaitez utiliser les ADC, utilisez le nom d'utilisateur du compte de service emprunté que vous avez ajouté à votre base de données Cloud SQL. Le nom d'utilisateur du compte de service se présente sous la forme 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 ressemblerait à service-<project number>@gcp-sa-looker.iam.

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

  1. Créez un utilisateur et un mot de passe pour la 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 accordées à 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 les 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 d'accès aux tables créées par web_app afin que l'utilisateur looker puisse 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'outil SQL Runner 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 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 du dialecte de votre 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 a réussi, cliquez sur Tester. Pour obtenir des informations sur le dépannage, consultez la page de documentation Tester la connectivité à la base de données.

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

Compatibilité avec les fonctionnalités

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

À partir de Looker 25.10, PostgreSQL 9.5 et versions ultérieures sont compatibles avec les fonctionnalités suivantes :

Fonctionnalité Compatibilité
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées persistantes basées sur SQL
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Arrêt 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
Sensibilité à la casse
Oui
Type de lieu
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Afficher les processus SQL Runner
Oui
Décrire la table dans SQL Runner
Oui
Afficher les index dans SQL Runner
Oui
SQL Runner Select 10
Oui
Nombre d'exécutions SQL Runner
Oui
Explication SQL
Oui
Identifiants OAuth 2.0
Non
Commentaires contextuels
Oui
Regroupement de 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
Mesures de variation par période
Non
Nombre approximatif d'éléments distincts
Non

Depuis Looker 25.10, Google Cloud PostgreSQL est compatible avec les fonctionnalités suivantes :

Fonctionnalité Compatibilité
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées persistantes basées sur SQL
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Arrêt 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
Sensibilité à la casse
Oui
Type de lieu
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Afficher les processus SQL Runner
Oui
Décrire la table dans SQL Runner
Oui
Afficher les index dans SQL Runner
Oui
SQL Runner Select 10
Oui
Nombre d'exécutions SQL Runner
Oui
Explication SQL
Oui
Identifiants OAuth 2.0
Non
Commentaires contextuels
Oui
Regroupement de 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
Mesures de variation par période
Non
Nombre approximatif d'éléments distincts
Non

Microsoft Azure PostgreSQL est compatible avec les fonctionnalités suivantes à partir de Looker 25.10 :

Fonctionnalité Compatibilité
Niveau d'assistance
Compatible
Looker (Google Cloud Core)
Oui
Agrégations symétriques
Oui
Tables dérivées
Oui
Tables dérivées persistantes basées sur SQL
Oui
Tables dérivées natives persistantes
Oui
Vues stables
Oui
Arrêt 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
Sensibilité à la casse
Oui
Type de lieu
Oui
Type de liste
Oui
Centile
Oui
Centile distinct
Oui
Afficher les processus SQL Runner
Oui
Décrire la table dans SQL Runner
Oui
Afficher les index dans SQL Runner
Oui
SQL Runner Select 10
Oui
Nombre d'exécutions SQL Runner
Oui
Explication SQL
Oui
Identifiants OAuth 2.0
Non
Commentaires contextuels
Oui
Regroupement de 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
Mesures de variation par période
Non
Nombre approximatif d'éléments distincts
Non