Dotaz z Editoru SQL Lakebase

Editor SQL Lakebase spouští dotazy na databáze Lakebase přímo z aplikace Lakebase. Nabízí Postgres-nativní funkce, jako jsou EXPLAIN/ANALYZE, meta příkazy psql-style a export výsledků do formátu CSV/JSON/XLSX.

Poznámka:

Databázi Lakebase můžete také dotazovat z editoru SQL v Lakehouse, který poskytuje vizualizace, řídicí panely, funkce pro spolupráci a možnost kombinovat data Lakebase s jinými tabulkami katalogu Unity. Viz Dotaz z editoru SQL (Lakehouse)

Použití Editoru SQL Lakebase

Použití editoru SQL:

  1. Otevřete aplikaci Lakebase a vyberte svůj projekt.
  2. Na bočním panelu vyberte Editor SQL a pak vyberte větev a databázi.
  3. Zadejte dotaz do editoru a kliknutím na Spustit zobrazte výsledky.

LKB SQL Editor

K vyzkoušení editoru SQL použijte následující dotaz. Dotaz vytvoří tabulku, přidá data a načte data z tabulky.

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;

Spuštění více příkazů dotazu najednou vrátí samostatnou sadu výsledků pro každý příkaz. Sady výsledků se zobrazují na samostatných kartách, očíslované podle pořadí provádění.

Pokud chcete editor vymazat, vyberte obsah textového pole a odstraňte ho.

Vysvětlení a analýza

Editor SQL Lakebase obsahuje funkce Vysvětlit a analyzovat .

Vysvětlení a analýza editoru SQL pro LKB

  • Funkce Vysvětlit spustí zadaný dotaz pomocí příkazu Postgres EXPLAIN , který vrátí plán provádění dotazu. Funkce Vysvětlit vrátí pouze plán s odhady. Dotaz se nespustí.
  • Funkce Analyzovat spustí zadaný dotaz pomocí EXPLAIN funkce ANALYZE. Parametr ANALYZE spustí dotaz a vrátí skutečné počty řádků a časy spuštění pro uzly plánu spolu s EXPLAIN odhady.

Pochopení informací poskytovaných funkcemi Vysvětlit a analyzovat vyžaduje znalost příkazu Postgres EXPLAIN a jeho parametru ANALYZE . EXPLAIN Viz dokumentace a použití EXPLAIN v dokumentaci k PostgreSQL.

Export dat do formátu CSV, JSON a XLSX

Editor SQL Lakebase podporuje export dat do JSONCSVa XLSX. Přístup k tlačítku pro stažení v pravém dolním rohu stránky editoru SQL Tlačítko pro stažení se zobrazí jenom v případech, kdy je nastavený výsledek ke stažení.

Export editoru SQL LKB

Rozbalení části výsledků okna editoru SQL

Rozbalte část výsledků okna editoru SQL tak, že v pravém dolním rohu stránky editoru SQL vyberete tlačítko pro rozbalení okna.

Rozbalení editoru SQL LKB

Meta-příkazy

Editor SQL Lakebase podporuje použití meta-příkazů Postgres, které fungují jako klávesové zkratky pro interakci s databází. Pokud už znáte použití meta-příkazů z rozhraní příkazového psql řádku, můžete použít mnoho stejných příkazů v Editoru Lakebase SQL.

Meta-příkazy mohou urychlit pracovní postup tím, že poskytují rychlý přístup ke schématům databáze a dalším důležitým informacím, aniž by bylo nutné psát úplné dotazy SQL.

Tady je několik běžně používaných meta-příkazů v editoru SQL Lakebase:

  • \dt — Výpis všech tabulek v aktuální databázi
  • \d [table_name] — Popis struktury tabulky
  • \l — Výpis všech databází
  • \? — Stručná nápověda k dostupným meta-příkazům
  • \h [NAME] — Získejte nápovědu pro jakýkoli příkaz Postgres (např. \h SELECT)

Poznámka:

V editoru SQL nejsou podporované všechny psql meta-příkazy. Seznam podporovaných příkazů získáte pomocí \?příkazu .

Úplný seznam meta-příkazů a jejich použití najdete v tématu Meta-commands in psql.

Jak používat meta-příkazy

Pokud chcete použít meta-příkaz v editoru SQL, zadejte meta-příkaz v editoru (stejně jako dotaz SQL) a klikněte na Spustit. Výsledek se zobrazí v podokně výstupu.

Omezení editoru SQL při zakázání veřejného přístupu

Když má váš pracovní prostor nakonfigurovaný Private Link a veřejný přístup je zakázán, Editor SQL přeposílá dotazy přes backend Lakebase místo použití přímého připojení k databázi. Většina dotazů funguje stejně jako přímé připojení, ale proxy server je bezstavový a spouští každý příkaz jako nezávislý požadavek HTTP, který zavádí následující omezení:

Co funguje:

  • Dotazy s jediným příkazem (SELECT, INSERT, UPDATE, DELETE, UPSERT)
  • Příkazy DDL (CREATE, ALTER, DROP TABLE, CREATE INDEX a další)
  • EXPLAIN a příkazy DESCRIBE (\d, \dt, \di)
  • Úplná podpora datových typů PostgreSQL (pole, JSON/JSONB, numerické typy, časová razítka, logické hodnoty)
  • Výsledky dotazů a chybové zprávy

Co nefunguje:

funkce Omezení
Transactions BEGIN, COMMITROLLBACK, a SAVEPOINT nefungují podle očekávání. Každý příkaz se automaticky potvrdí nezávisle, aniž je zaručena atomicita.
Stav relace SET a SET LOCAL platí pouze pro aktuální požadavek. Dočasné tabulky, připravené příkazy, kurzory a doporučené zámky nejsou v následujících příkazech k dispozici.
LISTEN/NOTIFY Vyžaduje trvalé připojení pro asynchronní oznámení, která proxy server nepodporuje.
Kopírovat ze STDIN Data na straně klienta nelze streamovat prostřednictvím proxy serveru.
\watch Pravidelné opakované spouštění dotazů není dostupné prostřednictvím bezstavového proxy serveru.
Zrušení dotazu Zrušení je jen v nejlepším úsilí. Dotaz může po žádosti o zrušení pokračovat v provozu na back-endu.
Skripty obsahující více příkazů Příkazy se spouští bez sdílené transakce. Částečné selhání skriptu vede k částečnému commitu.
Omezení velikosti výsledku Výsledky dotazů jsou omezené na 32 MB.

Pro úlohy, které vyžadují transakce nebo stav relace, se připojte přímo k databázi pomocí klienta Postgres. Viz Připojení s psql.

Řešení potíží

Pokud se v editoru SQL zobrazí zpráva "Nepodařilo se načíst" nebo "Neznámá chyba" a váš pracovní prostor používá Private Link, ověřte, že je správně nakonfigurovaná příchozí Private Link (úroveň pracovního prostoru, port 443). Viz Řešení potíží s připojením Private Link.