Aller au contenu principal

Query depuis l'éditeur SQL Lakebase

L'éditeur SQL Lakebase exécute des queries sur vos bases de données Lakebase directement depuis l'application Lakebase. Il offre des fonctionnalités natives de Postgres, telles que EXPLAIN/ANALYZE, des méta-commandes psql-style, et l'exportation des résultats vers CSV/JSON/XLSX.

remarque

Vous pouvez également interroger votre base de données Lakebase à partir de l'éditeur SQL de Lakehouse, qui fournit des visualisations, des tableaux de bord, des fonctionnalités de collaboration et la possibilité de combiner les données Lakebase avec d'autres tables Unity Catalog. Voir Interroger depuis l'éditeur SQL (Lakehouse).

Utilisez l'éditeur SQL de Lakebase

Pour utiliser l’éditeur SQL :

  1. Ouvrez l'application Lakebase et sélectionnez votre projet.
  2. Sélectionnez l'**Éditeur SQL** dans la barre latérale, puis sélectionnez une Branch et une base de données.
  3. Saisissez une requête dans l'éditeur et cliquez sur Exécuter pour afficher les résultats.

Éditeur SQL LKB

Utilisez la requête suivante pour essayer l'éditeur SQL. La query crée une table, ajoute des données et récupère les données de la table.

SQL
CREATE TABLE IF NOT EXISTS playing_with_lakebase(id SERIAL PRIMARY KEY, name TEXT NOT NULL, value REAL);
INSERT INTO playing_with_lakebase(name, value)
SELECT LEFT(md5(i::TEXT), 10), random() FROM generate_series(1, 10) s(i);
SELECT * FROM playing_with_lakebase;

L’exécution de plusieurs instructions query à la fois renvoie un jeu de résultats distinct pour chaque instruction. Les jeux de résultats sont affichés dans des tab distincts, numérotés par ordre d'exécution.

Pour effacer l'éditeur, sélectionnez le contenu de la zone de texte et supprimez-le.

Expliquer et analyser

L'Éditeur SQL Lakebase dispose des fonctionnalités **Explain** et **Analyze**.

LKB SQL Editor Expliquer et analyser

  • La fonctionnalité Explain exécute la query spécifiée avec la commande Postgres EXPLAIN, qui renvoie le plan d'exécution de la query. La fonctionnalité Explain ne renvoie qu'un plan avec des estimations. Elle n'exécute pas la query.
  • La fonctionnalité Analyser exécute la query spécifiée avec EXPLAIN ANALYZE. Le parameter ANALYZE exécute la query et renvoie le nombre réel de lignes et les temps d'exécution des nœuds de plan ainsi que les estimations EXPLAIN.

La compréhension des informations fournies par les fonctionnalités Explain et Analyze nécessite une familiarité avec la commande EXPLAIN de Postgres et son ANALYZE paramètre. Consultez la documentation EXPLAIN et la section Utilisation d’EXPLAIN de la documentation PostgreSQL.

Exporter des données vers CSV, JSON et XLSX

Le Lakebase SQL Editor prend en charge l'exportation de vos données vers JSON, CSV et XLSX. Accédez au bouton de download depuis le coin inférieur droit de la page de l' Éditeur SQL . Le bouton de download n'apparaît que lorsqu'il y a un jeu de résultats à download.

Exportation de l'éditeur SQL LKB

Développez la section des résultats de la fenêtre de l'éditeur SQL

Développez la section des résultats de la fenêtre de l'Éditeur SQL en sélectionnant le bouton Développer la fenêtre dans le coin inférieur droit de la page de l' Éditeur SQL .

Développer l’éditeur LKB SQL

Meta-commandes

L'éditeur SQL de Lakebase prend en charge l'utilisation des métacommandes Postgres, qui agissent comme des raccourcis pour interagir avec votre base de données. Si vous maîtrisez déjà l'utilisation des méta-commandes de l'interface de ligne de commande psql, vous pouvez utiliser plusieurs de ces mêmes commandes dans l'éditeur SQL de Lakebase.

Les méta-commandes peuvent accélérer votre flux de travail en fournissant un accès rapide aux schémas de base de données et à d'autres informations critiques sans avoir besoin d'écrire des requêtes SQL complètes.

Voici quelques méta-commandes couramment utilisées dans l'éditeur SQL Lakebase :

  • \dt — Lister toutes les tables de la base de données actuelle
  • \d [table_name] — Décrire la structure d'une table
  • \l — Lister toutes les bases de données
  • \? — Un aide-mémoire des méta-commandes disponibles
  • \h [NAME] — Obtenez de l'aide pour n'importe quelle commande Postgres (par exemple, \h SELECT)
remarque

Toutes les méta-commandes psql ne sont pas prises en charge dans l'éditeur SQL. Pour obtenir une liste des commandes prises en charge, utilisez \?.

Pour une liste complète des méta-commandes et de leur utilisation, consultez Meta-commands in psql.

Comment utiliser les méta-commandes

Pour utiliser une méta-commande dans l'éditeur SQL, saisissez la méta-commande dans l'éditeur (tout comme une requête SQL) et cliquez sur Exécuter . Le résultat s'affichera dans le volet de sortie.

Limitations de l'éditeur SQL lorsque l'accès public est désactivé

Lorsque votre workspace a Private Link configuré avec l'accès public désactivé, l'éditeur SQL proxyfie les queries via le backend Lakebase au lieu d'utiliser une connexion directe à la base de données. La plupart des queries fonctionnent de manière identique à une connexion directe, mais le proxy est sans état et exécute chaque instruction comme une requête HTTP indépendante, ce qui introduit les limitations suivantes :

Ce qui fonctionne :

  • Queries à instruction unique (SELECT, INSERT, UPDATE, DELETE, UPSERT)
  • Instructions DDL (CREATE, ALTER, DROP TABLE, CREATE INDEX et autres)
  • Commandes EXPLAIN et DESCRIBE (\d, \dt, \di)
  • Prise en charge complète des types de données Postgres (tableaux, JSON/JSONB, numériques, Timestamps, booléens)
  • Résultats de la query et messages d'erreur

Ce qui ne fonctionne pas :

Fonctionnalité

Limitation

Transactions

BEGIN, COMMIT, ROLLBACK et SAVEPOINT ne fonctionnent pas comme prévu. Chaque instruction auto-commit indépendamment, sans garantie d'atomicité.

État de session

SET et SET LOCAL s'appliquent uniquement à la requête actuelle. Les tables temporaires, les instructions préparées, les curseurs et les verrous consultatifs ne sont pas disponibles dans les instructions suivantes.

LISTEN/NOTIFY

Nécessite une connexion persistante pour les notifications asynchrones, ce que le proxy ne prend pas en charge.

COPY FROM STDIN

Impossible de Stream des données côté client via le proxy.

\watch

La réexécution périodique de la query n'est pas disponible via le proxy sans état.

Annulation de la query

L'annulation n'est effectuée qu'au mieux. Une query peut continuer à s'exécuter sur le backend après une demande d'annulation.

Scripts multi-déclarations

Les instructions s'exécutent sans transaction partagée. Un échec partiel du script entraîne un commit partiel.

Limite de taille de résultat

Les résultats des requêtes sont limités à 32 Mo.

Fonctionnalité

Limitation

Transactions

BEGIN, COMMIT, ROLLBACK et SAVEPOINT ne fonctionnent pas comme prévu. Chaque instruction auto-commit indépendamment, sans garantie d'atomicité.

État de session

SET et SET LOCAL s'appliquent uniquement à la requête actuelle. Les tables temporaires, les instructions préparées, les curseurs et les verrous consultatifs ne sont pas disponibles dans les instructions suivantes.

LISTEN/NOTIFY

Nécessite une connexion persistante pour les notifications asynchrones, ce que le proxy ne prend pas en charge.

COPY FROM STDIN

Impossible de Stream des données côté client via le proxy.

\watch

La réexécution périodique de la query n'est pas disponible via le proxy sans état.

Annulation de la query

L'annulation n'est effectuée qu'au mieux. Une query peut continuer à s'exécuter sur le backend après une demande d'annulation.

Scripts multi-déclarations

Les instructions s'exécutent sans transaction partagée. Un échec partiel du script entraîne un commit partiel.

Limite de taille de résultat

Les résultats des requêtes sont limités à 32 Mo.

Pour les charges de travail qui nécessitent des transactions ou un état de session, connectez-vous directement à votre base de données à l'aide d'un client Postgres. Voir Connexion avec psql.

Dépanner

Si l'Éditeur SQL affiche un message « Échec de la récupération » ou « Erreur inconnue » et que votre workspace utilise Private Link, confirmez que Private Link entrant (au niveau du workspace, port 443) est correctement configuré. Consultez Dépanner la connectivité Private Link.