sql >> Databáze >  >> RDS >> PostgreSQL

Jak změnit styl ohraničení tabulky ve výsledcích dotazu psql

Při použití psql pro spouštění dotazů proti PostgreSQL můžeme použít \pset border a \pset linestyle příkazy ke změně okraje tabulky, která zobrazuje naše výsledky.

Příklady \pset border

Zde je několik příkladů, které demonstrují, jak \pset border Příkaz ovlivňuje formát ohraničení při použití výchozího linestyle nastavení ascii .

Hodnota poskytnutá do \pset border musí být číslo. Obecně platí, že čím vyšší číslo, tím více ohraničení a řádků budou mít tabulky, ale záleží na konkrétním formátu.

Ve formátu HTML se to překládá přímo do border= … atribut.

V ostatních formátech je sice možné použít vyšší čísla, ale pouze hodnoty 0 (bez ohraničení), 1 (vnitřní dělicí čáry) a 2 (rám stolu) dává smysl.

Ohraničení 0

\pset linestyle ascii
\pset border 0
SELECT * FROM Pets;

Výsledek:

petid pettypeid ownerid petname    dob     
----- --------- ------- ------- ----------
    1         2       3 Fluffy  2020-11-20
    2         3       3 Fetch   2019-08-16
    3         2       2 Scratch 2018-10-01
    4         3       3 Wag     2020-03-15
    5         1       1 Tweet   2020-11-28
    6         3       4 Fluffy  2020-09-17
    7         3       2 Bark    
    8         2       4 Meow    
(8 rows)

Ohraničení 1

\pset linestyle ascii
\pset border 1
SELECT * FROM Pets;

Výsledek:

 petid | pettypeid | ownerid | petname |    dob     
-------+-----------+---------+---------+------------
     1 |         2 |       3 | Fluffy  | 2020-11-20
     2 |         3 |       3 | Fetch   | 2019-08-16
     3 |         2 |       2 | Scratch | 2018-10-01
     4 |         3 |       3 | Wag     | 2020-03-15
     5 |         1 |       1 | Tweet   | 2020-11-28
     6 |         3 |       4 | Fluffy  | 2020-09-17
     7 |         3 |       2 | Bark    | 
     8 |         2 |       4 | Meow    | 
(8 rows)

Ohraničení 2

\pset linestyle ascii
\pset border 2
SELECT * FROM Pets;

Výsledek:

+-------+-----------+---------+---------+------------+
| petid | pettypeid | ownerid | petname |    dob     |
+-------+-----------+---------+---------+------------+
|     1 |         2 |       3 | Fluffy  | 2020-11-20 |
|     2 |         3 |       3 | Fetch   | 2019-08-16 |
|     3 |         2 |       2 | Scratch | 2018-10-01 |
|     4 |         3 |       3 | Wag     | 2020-03-15 |
|     5 |         1 |       1 | Tweet   | 2020-11-28 |
|     6 |         3 |       4 | Fluffy  | 2020-09-17 |
|     7 |         3 |       2 | Bark    |            |
|     8 |         2 |       4 | Meow    |            |
+-------+-----------+---------+---------+------------+
(8 rows)

O \pset linestyle

Můžeme použít \pset linestyle příkaz pro změnu stylu kreslení čáry ohraničení. Lze jej nastavit na ascii , old-ascii nebo unicode .

Příklad:

\pset linestyle ascii
\pset linestyle old-ascii
\pset linestyle unicode

Zde je popis každého:

  • ascii styl používá obyčejné znaky ASCII. Nové řádky v datech se zobrazují pomocí + symbol na pravém okraji. Když zalomený formát zalamuje data z jednoho řádku na druhý bez znaku nového řádku, tečka (. ) se zobrazí na pravém okraji prvního řádku a znovu na levém okraji následujícího řádku.
  • old-ascii style používá prosté znaky ASCII pomocí stylu formátování používaného v PostgreSQL 8.4 a dřívějších. Nové řádky v datech jsou zobrazeny pomocí : symbol namísto levého oddělovače sloupců. Když jsou data zalamována z jednoho řádku na druhý bez znaku nového řádku, ; symbol se používá místo oddělovače sloupců na levé straně.
  • unicode styl používá znaky Unicode pro kreslení rámečků. Nové řádky v datech jsou zobrazeny pomocí znaku návratu vozíku na pravém okraji. Když jsou data zalomena z jednoho řádku na druhý bez znaku nového řádku, zobrazí se na pravém okraji prvního řádku symbol elipsy a znovu na levém okraji následujícího řádku.

Pokud potřebujete více možností formátování okrajů, podívejte se na hezké okraje v patchi psql.


  1. Konfigurace vyhrazené sítě pro komunikaci skupiny dostupnosti

  2. Rychlé nalezení podobných řetězců pomocí PostgreSQL

  3. O Neo4j

  4. SqlDependency nespustí událost OnChange, když se změní datová sada