Lepší konzolový nástroj pro PostgreSQL: pgcli

Kategorie:

Osobně považuji PostgreSQL (dále jen PgSQL) za nejlepší svobodnou databázi, bohužel je (mírou nasazení) ve stínu populární MySQL. Pro připojení k PgSQL existuje velmi propracovaný nástroj PgAdmin či několik webových aplikací. Pokud potřebujete přístup z konzole tak si můžete vybrat výchozí psql, nebo zvolit mnohem lepší pgcli.

Proč, proboha z konzole?

„Moderní“ (hlavně mladší) vývojáři jsou zvyklí na „myšoidní rozhraní“, jež jsou pro oko přitažlivá a vše je dostupné jen na několik kliků. Pokud je PgSQL na vzdáleném serveru a nemáte povolený přístup z IP na které jste, tak zbývá přístup přes www rozhraní, nebo ještě lépe přes terminál, k němuž se vzdáleně připojíte pomocí SSH. (Vzdálený neberte doslovně, může to být i jen v sousední budově.) Konzolový (cli) přístup má tak malou režii, že jeho použitelnost není omezena ani nejpomalejším GPRS připojením.

Reklama

Co to je pgcli?

Cli nástroj pro PgSQL, který nabízí stejné možnosti jako defaultní psql, ale navíc umí auto completion a zvýrazňování syntaxe, nebo víceřádkové příkazy s inteligentní historií. Vývojáři si pro vývoj vybrali programovací jazyk Python

Instalace a používání pgcli

Pro instalaci asi nejlépe poslouží standardní Pythonovský nástroje pip, nebo easy-install; moje oblíběná je ta první. Pro některé distribuce je i možnost využití repozitářů (například Fedora Copr a EPEL pro CentOS). Pro Windows jsem také našel „standardní pythonovský postup“, žádný instalátor, ale moc intenzivně jsem nehledal.

pip install pgcli (samozřejmě po eskalaci práv na roota).

Parametry připojení jsou stejné, jako u defaultního psql.

Usage: pgcli [OPTIONS] [DATABASE] [USERNAME]

Options:
  -h, --host TEXT          Host address of the postgres database.
  -p, --port INTEGER       Port number at which the postgres instance is
                           listening.
  -U, --user TEXT          User name to connect to the postgres database.
  -W, --password           Force password prompt.
  -w, --no-password        Never prompt for password.
  -v, --version            Version of pgcli.
  -d, --dbname TEXT        database name to connect to.
  --pgclirc TEXT           Location of pgclirc file.
  -D, --dsn TEXT           Use DSN configured into the [alias_dsn] section of
                           pgclirc file.
  -R, --row-limit INTEGER  Set threshold for row limit prompt. Use 0 to
                           disable prompt.
  --help                   Show this message and exit.

K databázi se připojuji příkazem pgcli -h 127.0.0.1 -U marek -d foo -W.

Uživatel nenarazí na nic, co by neznal z psql, jen je vše přehlednější a pohodlnější. Historie funguje nejen přes šipky, ale i přes klávesy Page Up/Page Down, což je ocenitelné u příkazů „na několik řádek“.

Odkaz

pgcli.com – domovská stránka projektu.

Dodatek

Podobný nástroj existuje i pro MariaDB/MySQL, najdete jej na adrese mycli.net. A přiznám se, že klasická konzole pro MySQL/MariaDB mi připadá velmi omezující.

Komentáře

2 komentáře: „Lepší konzolový nástroj pro PostgreSQL: pgcli“

  1. Ondřej Tůma avatar
    Ondřej Tůma

    Dík za tip, vypadá to dobře 🙂

    1. Marek Olšavský avatar

      Není zač. Hlavní dík patří Pavlovi Stěhulemu, který pgcli před delší dobou zapropagoval v PostgreSQL konfeře. Nástroj mi jednoznačně sedl.