Le peuple ukrainien se bat pour son pays. De nombreux civils, femmes et enfants, souffrent. Des centaines de personnes ont été tuées et blessées et des milliers ont été déplacées.
C'est une image de ma ville natale, Kharkiv. Cet endroit est en plein centre de la vieille ville.
Photo de @fomenko_ph (Telegram).
Veuillez envisager de faire un don ou de faire du bénévolat.
https://bank.gov.ua/en/
https://savelife.in.ua/en/donate/
https://www.comebackalive.in.ua/donate
https://www.globalgiving.org/projects/ukraine-crisis-relief-fund/
https://www.savethechildren.org/us/where-we-work/ukraine
https://www.facebook.com/donate/1137971146948461/
https://donate.wck.org/give/393234#!/donation/checkout
https://atlantaforukraine.com/
Il s'agit d'un client Postgres qui effectue l'auto-complétion et la coloration syntaxique.
Page d'accueil : http://pgcli.com
Équivalent MySQL : http://mycli.net
Si vous savez déjà comment installer des packages Python, vous pouvez simplement faire :
$ pip install -U pgcli ou $ sudo apt-get install pgcli # Uniquement sur Linux basé sur Debian (par exemple Ubuntu, Mint, etc.) $ Brew install pgcli # Uniquement sur macOS
Si vous ne savez pas comment installer les packages Python, veuillez consulter les instructions détaillées.
$ pgcli [nom_base de données] ou $ pgcli postgresql://[user[:password]@][netloc][:port][/dbname][?extra=value[&other=other-value]]
Exemples :
$ pgcli base de données locale $ pgcli postgres://amjith:[email protected]:5432/app_db?sslmode=verify-ca&sslrootcert=/myrootcert
Pour plus de détails :
$ pgcli --aide Utilisation : pgcli [OPTIONS] [DBNAME] [USERNAME] Possibilités : -h, --host TEXT Adresse hôte de la base de données postgres. -p, --port INTEGER Numéro de port sur lequel se trouve l'instance postgres écoute. -U, --username TEXT Nom d'utilisateur pour se connecter à la base de données postgres. -u, --user TEXT Nom d'utilisateur pour se connecter à la base de données postgres. -W, --password Forcer l'invite du mot de passe. -w, --no-password Ne demande jamais de mot de passe. --single-connection N'utilisez pas de connexion distincte pour les complétions. -v, --version Version de pgcli. -d, --dbname Nom de la base de données TEXTE à laquelle se connecter. --pgclirc FILE Emplacement du fichier pgclirc. -D, --dsn TEXT Utiliser le DSN configuré dans la section [alias_dsn] du fichier pgclirc. --list-dsn liste des DSN configurés dans [alias_dsn] section du fichier pgclirc. --row-limit INTEGER Définit le seuil pour l'invite de limite de lignes. Utilisez 0 pour désactiver l'invite. --less-chatty Passer l'intro au démarrage et au revoir à la sortie. --prompt Format d'invite TEXTE (par défaut : "u@h:d>"). --prompt-dsn TEXT Format d'invite pour les connexions utilisant des alias DSN (Par défaut : "u@h:d>"). -l, --list répertorie les bases de données disponibles, puis quittez. --auto-vertical-output Passe automatiquement en mode de sortie verticale si le résultat est plus large que la largeur du terminal. --warn [all|moderate|off] Avertir avant d'exécuter une requête destructrice. --help Afficher ce message et quitter.
pgcli
prend également en charge bon nombre des mêmes variables d'environnement que psql
pour les options de connexion (par exemple PGHOST
, PGPORT
, PGUSER
, PGPASSWORD
, PGDATABASE
).
Les variables d'environnement liées à SSL sont également prises en charge, donc si vous devez connecter une base de données Postgres via une connexion SSL, vous pouvez définir l'environnement comme ceci :
export PGSSLMODE="verify-full" export PGSSLCERT="/votre-chemin-vers-certs/client.crt" export PGSSLKEY="/votre-chemin-vers-les-clés/client.key" export PGSSLROOTCERT="/votre-chemin-vers-ca/ca.crt" pgcli -h localhost -p 5432 -U nom d'utilisateur postgres
Le pgcli est écrit en utilisant prompt_toolkit.
Remplissage automatique au fur et à mesure que vous tapez des mots-clés SQL ainsi que des tables et des colonnes dans la base de données.
Mise en évidence de la syntaxe à l'aide de Pygments.
La complétion intelligente (activée par défaut) suggérera une complétion contextuelle.
SELECT * FROM <tab>
affichera uniquement les noms de tables.
SELECT * FROM users WHERE <tab>
affichera uniquement les noms de colonnes.
Prise en charge primitive des commandes psql
back-slash.
Pretty imprime des données tabulaires.
Un fichier de configuration est automatiquement créé dans ~/.config/pgcli/config
au premier lancement. Consultez le fichier lui-même pour une description de toutes les options disponibles.
Si vous souhaitez contribuer à ce projet, je tiens tout d'abord à vous exprimer ma sincère gratitude. J'ai écrit un petit document pour décrire comment faire fonctionner cela dans une configuration de développement.
https://github.com/dbcli/pgcli/blob/master/DEVELOP.rst
N'hésitez pas à nous contacter si vous avez besoin d'aide. * Amjith, auteur de pgcli : [email protected], Twitter : @amjithr * Irina, responsable de pgcli : [email protected], Twitter : @irinatruong
Le moyen le plus simple d’installer pgcli consiste à utiliser Homebrew.
$ Brew installer pgcli
Fait!
Alternativement, vous pouvez installer pgcli
en tant que package python à l'aide d'un gestionnaire de packages appelé pip
. Vous aurez besoin de Postgres installé sur votre système pour que cela fonctionne.
Guide de démarrage détaillé pour pip
- https://pip.pypa.io/en/latest/installation/
$ quel pip
S'il est installé, vous pouvez faire :
$ pip installer pgcli
Si cela échoue en raison de problèmes d'autorisation, vous devrez peut-être exécuter la commande avec les autorisations sudo.
$ sudo pip install pgcli
Si pip n'est pas installé, vérifiez si easy_install est disponible sur le système.
$ lequel easy_install $ sudo easy_install pgcli
Guide de démarrage détaillé pour pip
- https://pip.pypa.io/en/latest/installation/
Vérifiez si pip est déjà disponible sur votre système.
$ quel pip
S'il n'existe pas, utilisez votre gestionnaire de packages Linux pour installer pip. Cela pourrait ressembler à quelque chose comme :
$ sudo apt-get install python-pip # Debian, Ubuntu, Mint etc. ou $ sudo miam install python-pip # RHEL, Centos, Fedora etc.
pgcli
nécessite les packages python-dev, libpq-dev et libevent-dev. Vous pouvez les installer via le gestionnaire de packages de votre système d'exploitation.
$ sudo apt-get install python-dev libpq-dev libevent-dev ou $ sudo miam install python-devel postgresql-devel
Ensuite, vous pouvez installer pgcli :
$ sudo pip install pgcli
Pgcli peut être exécuté depuis Docker. Cela peut être utile pour essayer pgcli sans l'installer, ni aucune dépendance, à l'échelle du système.
Pour construire l'image :
$ docker build -t pgcli .
Pour créer un conteneur à partir de l'image :
$ docker run --rm -ti pgcli pgcli <ARGS>
Pour accéder aux bases de données postgresql en écoute sur localhost, assurez-vous d'exécuter le docker en "mode réseau hôte". Par exemple, pour accéder à une base de données appelée "foo" sur le serveur postgresql exécuté sur localhost:5432 (le port standard) :
$ docker run --rm -ti --net host pgcli pgcli -h localhost foo
Pour vous connecter à une instance exécutée localement sur un socket Unix, liez le socket au conteneur Docker :
$ docker run --rm -ti -v /var/run/postgres:/var/run/postgres pgcli pgcli foo
Pgcli peut être exécuté depuis la console IPython. Lorsque vous travaillez sur une requête, il peut être utile de passer à une session pgcli sans quitter la console IPython, de parcourir une requête, puis de quitter pgcli pour trouver les résultats de la requête dans votre espace de travail IPython.
En supposant que IPython soit installé :
$ pip installer ipython-sql
Après cela, exécutez ipython et chargez l'extension pgcli.magic
:
$ipython Dans [1] : %load_ext pgcli.magic
Connectez-vous à une base de données et construisez une requête :
Dans [2] : %pgcli postgres://someone@localhost:5432/world Connecté : quelqu'un@monde quelqu'un@localhost:world> sélectionnez * dans la ville c où le code du pays = 'USA' et la population > 1 000 000 ; +------+--------------+---------------+----------- ---+--------------+ | identifiant | nom | code pays | quartier | population | |------+--------------+---------------+----------- ---+--------------| | 3793 | New York | États-Unis | New York | 8008278 | | 3794 | Los Angeles | États-Unis | Californie | 3694820 | | 3795 | Chicago | États-Unis | Illinois | 2896016 | | 3796 | Houston | États-Unis | Texas | 1953631 | | 3797 | Philadelphie | États-Unis | Pennsylvanie | 1517550 | | 3798 | Phénix | États-Unis | Arizona | 1321045 | | 3799 | San Diego | États-Unis | Californie | 1223400 | | 3800 | Dallas | États-Unis | Texas | 1188580 | | 3801 | Saint-Antoine | États-Unis | Texas | 1144646 | +------+--------------+---------------+----------- ---+--------------+ SÉLECTIONNER 9 Temps : 0,003 s
Quittez la session pgcli avec Ctrl + D
et recherchez les résultats de la requête :
quelqu'un@localhost:monde> Au revoir! 9 lignes concernées. Sortie[2] : [(3793, u'New York', u'USA', u'New York', 8008278), (3794, u'Los Angeles', u'USA', u'California', 3694820), (3795, u'Chicago', u'USA', u'Illinois', 2896016), (3796, u'Houston', u'USA', u'Texas', 1953631), (3797, u'Philadelphie', u'USA', u'Pennsylvania', 1517550), (3798, u'Phoenix', u'USA', u'Arizona', 1321045), (3799, u'San Diego', u'USA', u'California', 1223400), (3800, u'Dallas', u'USA', u'Texas', 1188580), (3801, u'San Antonio', u'USA', u'Texas', 1144646)]
Les résultats sont disponibles dans une variable locale spéciale _
, et peuvent être affectés à une variable de votre choix :
Dans [3] : mon_résultat = _
Pgcli a abandonné la prise en charge de Python <3.8 à partir de la version 4.0.0. Si vous en avez besoin, installez pgcli <= 4.0.0
.
Un merci spécial à Jonathan Slenders pour la création de Python Prompt Toolkit, qui est littéralement la bibliothèque principale, qui a rendu cette application possible. Jonathan a également fourni de précieux commentaires et soutien lors du développement de cette application.
Click est utilisé pour l’analyse des options de ligne de commande et l’impression des messages d’erreur.
Merci à psycopg d'avoir fourni une interface solide comme le roc à la base de données Postgres.
Merci à tous les bêta-testeurs et contributeurs pour votre temps et votre patience. :)