PostgreSQL - PSQL

Obsah
PSQL je příkazový řádek, konzola, která je ve výchozím nastavení zabalena PostgreSQL, to nám umožňuje spouštět dotazy a dokonce nám to umožňuje používat jej jako nástroj k provádění automatizovaných skriptů, importu a exportu dat, obnovení, administraci databáze a dokonce i jako základní generátor sestav.
Chcete -li použít interaktivní konzolu PSQL Nejprve musíme vědět, jaké příkazy můžeme v tomto režimu použít, abychom získali přístup k obecné nápovědě, kterou máme, pomocí následující instrukce:
psql \?

Díky tomu zobrazíme seznam toho, co můžeme použít, navíc pokud máme nějaké dotazy s příkazem SQL, můžeme tuto pomoc použít k získání konkrétních informací o uvedeném příkazu, například:
\ h VYTVOŘIT TABULKU

Tím bychom získali výsledek, jako je ten, který uvidíme na dalším obrázku.

Jak můžeme pozorovat nápovědu, ukazuje nám všechny platné možnosti, které můžeme použít při provádění příkazu nebo příkazu SQL v našem interaktivním příkazovém řádku PSQL.
Neinteraktivní konzola znamená, že požádáme příkazový řádek o spuštění souboru skriptu, který obsahuje kombinaci příkazů SQL s příkazy PSQLMůžeme dokonce alternativně předávat příkazy SQL ve volání provedení v neinteraktivní konzole. To nám umožňuje usnadnit vytváření automatizovaných úkolů, protože pokyny, které chceme provést, můžeme uložit do souboru a poté naplánovat jejich spuštění, když je potřebujeme.
Ke spuštění souboru jednoduše použijeme parametr -f následujícím způsobem
psql -f some_script_file

Pokud příkazy v souboru nemáme, můžeme je předat přímo do konzoly následujícím způsobem:
psql -d postgresql_book -c "DROP TABLE IF EXISTS dross; CREATE SCHEMA staging;"
Jak jsme viděli, můžeme zahrnout více příkazů, pokud je oddělíme středníkem.
Podívejme se, jak vytvořit soubor s interaktivními příkazy uvnitř:
 \ a \ t \ g create_script.sql SELECT 'CREATE TABLE staging.factfinder_import (geo_id varchar (255), geo_id2 varchar (255), geo_display varchar (255),' || array_to_string (array_agg ('s' || lpad (i :: text, 2, '0') || 'varchar (255), s' || lpad (i :: text, 2, '0') || '_perc varchar (255)'), ',') || ');' FROM generate_series (1,51) As i; \ o \ i create_script.sql 

Používáme \ t odstranit záhlaví a \ a k odstranění generovaných prvků přerušení, pak pomocí \ g určíme, že budeme generovat soubor pro výstup toho, co generuje náš dotaz. Pak s funkcí lpad umožní našim sloupcům mít strukturu s01, s01_perc, s02, s02_perc. Voláme příkaz \ o, abychom zastavili skládku v souboru, a poté pro efektivní generování souboru použijeme interaktivní příkaz \ i.
Nakonec můžeme spustit náš soubor příkazem:
psql -f build_stage.psql -d postgresql_book

Díky tomu jsme díky nástrojům příkazového řádku konzoly nebo PSQL vybudovali naše funkce poměrně jednoduchým způsobem. S tímto dokončujeme náš tutoriál, víme již něco více o konzole a různých prostředích, která zpracovává, například interaktivní a neinteraktivní.
wave wave wave wave wave