Украинский народ борется за свою страну. Страдает множество мирных жителей, женщин и детей. Сотни были убиты и ранены, а тысячи были вынуждены покинуть свои дома.
Это фотография из моего родного города Харькова. Это место находится прямо в старом центре города.
Фото @fomенко_ph (Telegram).
Пожалуйста, рассмотрите возможность пожертвования или волонтерства.
https://bank.gov.ua/en/
https://savelife.in.ua/ru/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/
Это клиент postgres, который выполняет автозаполнение и подсветку синтаксиса.
Домашняя страница: http://pgcli.com
Эквивалент MySQL: http://mycli.net
Если вы уже знаете, как устанавливать пакеты Python, вы можете просто сделать:
$ pip install -U pgcli или $ sudo apt-get install pgcli # Только в Linux на базе Debian (например, Ubuntu, Mint и т. д.) $ Brew install pgcli # Только в macOS
Если вы не знаете, как устанавливать пакеты Python, ознакомьтесь с подробными инструкциями.
$ pgcli [имя_базы_данных] или $ pgcli postgresql://[пользователь[:пароль]@][netloc][:порт][/dbname][?extra=value[&other=other-value]]
Примеры:
$ pgcli local_database $ pgcli postgres://amjith:[email protected]:5432/app_db?sslmode=verify-ca&sslrootcert=/myrootcert
Для более подробной информации:
$ pgcli --help Использование: pgcli [ОПЦИИ] [ИМЯ БД] [ИМЯ ПОЛЬЗОВАТЕЛЯ] Параметры: -h, --host ТЕКСТ Адрес хоста базы данных postgres. -p, --port INTEGER Номер порта, на котором находится экземпляр postgres. слушаю. -U, --username ТЕКСТ Имя пользователя для подключения к базе данных postgres. -u, --user ТЕКСТ Имя пользователя для подключения к базе данных postgres. -W, --password Принудительный запрос пароля. -w, --no-password Никогда не запрашивать пароль. --single-connection Не использовать отдельное соединение для завершения. -v, --version Версия pgcli. -d, --dbname ТЕКСТ имя базы данных для подключения. --pgclirc ФАЙЛ Местоположение файла pgclirc. -D, --dsn ТЕКСТ Использовать DSN, настроенный в разделе [alias_dsn] файла pgclirc. --list-dsn список DSN, настроенных в [alias_dsn] раздел файла pgclirc. --row-limit ЦЕЛОЕ ЧИСЛО Установить порог для запроса ограничения количества строк. Используйте 0, чтобы отключить подсказку. --less-chatty Пропустить вступление при запуске и до свидания при выходе. --prompt ТЕКСТ Формат запроса (по умолчанию: «u@h:d>»). --prompt-dsn ТЕКСТ Формат запроса для соединений с использованием псевдонимов DSN (По умолчанию: «u@h:d>»). -l, --list вывести список доступных баз данных, затем выйти. --auto-vertical-output Автоматически переключаться в режим вертикального вывода, если результат шире, чем ширина терминала. --warn [all|moderate|off] Предупреждать перед выполнением деструктивного запроса. --help Показать это сообщение и выйти.
pgcli
также поддерживает многие из тех же переменных среды, что и psql
для параметров входа в систему (например PGHOST
, PGPORT
, PGUSER
, PGPASSWORD
, PGDATABASE
).
Также поддерживаются переменные среды, связанные с SSL, поэтому, если вам нужно подключить базу данных Postgres через SSL-соединение, вы можете установить настройку среды следующим образом:
экспортировать PGSSLMODE="verify-full" экспортировать PGSSLCERT="/ваш-путь-к-сертзам/client.crt" экспортировать PGSSLKEY="/ваш-путь-к-ключам/client.key" экспортировать PGSSLROOTCERT="/ваш-путь-к-ca/ca.crt" pgcli -h localhost -p 5432 -U имя пользователя postgres
pgcli написан с использованием Prompt_toolkit.
Заполняется автоматически при вводе ключевых слов SQL, а также таблиц и столбцов в базе данных.
Подсветка синтаксиса с помощью Pygments.
Интеллектуальное завершение (включено по умолчанию) будет предлагать контекстно-зависимое завершение.
SELECT * FROM <tab>
покажет только имена таблиц.
SELECT * FROM users WHERE <tab>
будет отображать только имена столбцов.
Примитивная поддержка команд обратной косой черты psql
.
Pretty печатает табличные данные.
Файл конфигурации автоматически создается в ~/.config/pgcli/config
при первом запуске. См. сам файл для описания всех доступных опций.
Если вы заинтересованы в участии в этом проекте, прежде всего я хотел бы выразить свою сердечную благодарность. Я написал небольшой документ, описывающий, как запустить это в среде разработки.
https://github.com/dbcli/pgcli/blob/master/DEVELOP.rst
Пожалуйста, не стесняйтесь обращаться к нам, если вам нужна помощь. * Амджит, автор pgcli: [email protected], Twitter: @amjithr * Ирина, сопровождающий pgcli: [email protected], Twitter: @irinatruong
Самый простой способ установить pgcli — использовать Homebrew.
$ варить установку pgcli
Сделанный!
Альтернативно, вы можете установить pgcli
как пакет Python, используя менеджер пакетов pip
. Чтобы это работало, вам понадобится установленный в вашей системе Postgres.
Подробное руководство по началу работы с pip
— https://pip.pypa.io/en/latest/installation/
$ какой пункт
Если он установлен, вы можете сделать:
$ pip установить pgcli
Если это не удается из-за проблем с разрешениями, возможно, вам придется запустить команду с разрешениями sudo.
$ sudo pip установить pgcli
Если pip не установлен, проверьте, доступен ли в системе easy_install.
$ который easy_install $ sudo easy_install pgcli
Подробное руководство по началу работы с pip
— https://pip.pypa.io/en/latest/installation/
Проверьте, доступен ли pip в вашей системе.
$ какой пункт
Если его не существует, используйте менеджер пакетов Linux для установки pip. Это может выглядеть примерно так:
$ sudo apt-get install python-pip # Debian, Ubuntu, Mint и т. д. или $ sudo yum install python-pip # RHEL, Centos, Fedora и т. д.
pgcli
требуются пакеты python-dev, libpq-dev и libevent-dev. Вы можете установить их через менеджер пакетов операционной системы.
$ sudo apt-get install python-dev libpq-dev libevent-dev или $ sudo yum install python-devel postgresql-devel
Затем вы можете установить pgcli:
$ sudo pip установить pgcli
Pgcli можно запустить из Docker. Это может быть полезно, чтобы попробовать pgcli без установки его или каких-либо зависимостей в масштабе всей системы.
Чтобы построить образ:
$ docker build -t pgcli.
Чтобы создать контейнер из образа:
$ docker run --rm -ti pgcli pgcli <ARGS>
Чтобы получить доступ к базам данных PostgreSQL, прослушивающим локальный хост, обязательно запустите докер в «сетевом режиме хоста». Например, для доступа к базе данных под названием «foo» на сервере postgresql, работающем на локальном хосте: 5432 (стандартный порт):
$ docker run --rm -ti --net хост pgcli pgcli -h localhost foo
Чтобы подключиться к локально работающему экземпляру через сокет unix, привяжите сокет к контейнеру докера:
$ docker run --rm -ti -v /var/run/postgres:/var/run/postgres pgcli pgcli foo
Pgcli можно запустить из консоли IPython. При работе над запросом может быть полезно перейти в сеанс pgcli, не выходя из консоли IPython, выполнить итерацию запроса, а затем выйти из pgcli, чтобы найти результаты запроса в рабочей области IPython.
Предполагая, что у вас установлен IPython:
$ pip установить ipython-sql
После этого запустите ipython и загрузите расширение pgcli.magic
:
$ ipython В [1]: %load_ext pgcli.magic
Подключитесь к базе данных и создайте запрос:
В [2]: %pgcli postgres://someone@localhost:5432/world На связи: кто-то@мир кто-то@localhost:world> выберите * из города c, где код страны = «США» и население> 1000000; +------+--------------+---------------+----------- ---+--------------+ | идентификатор | имя | код страны | район | население | |------+--------------+---------------+----------- ---+--------------| | 3793 | Нью-Йорк | США | Нью-Йорк | 8008278 | | 3794 | Лос-Анджелес | США | Калифорния | 3694820 | | 3795 | Чикаго | США | Иллинойс | 2896016 | | 3796 | Хьюстон | США | Техас | 1953631 | | 3797 | Филадельфия | США | Пенсильвания | 1517550 | | 3798 | Феникс | США | Аризона | 1321045 | | 3799 | Сан-Диего | США | Калифорния | 1223400 | | 3800 | Даллас | США | Техас | 1188580 | | 3801 | Сан-Антонио | США | Техас | 1144646 | +------+--------------+---------------+----------- ---+--------------+ ВЫБЕРИТЕ 9 Время: 0,003 с
Выйдите из сеанса pgcli, нажав Ctrl + D
, и найдите результаты запроса:
кто-то@localhost:world> До свидания! Затронуто 9 строк. Выход[2]: [(3793, u'Нью-Йорк', u'США', u'Нью-Йорк', 8008278), (3794, Лос-Анджелес, США, Калифорния, 3694820), (3795, Чикаго, США, Иллинойс, 2896016), (3796, Хьюстон, США, Техас, 1953631), (3797, Филадельфия, США, Пенсильвания, 1517550), (3798, США, Аризона, 1321045), (3799, Сан-Диего, США, Калифорния, 1223400), (3800, США, Техас, 1188580), (3801, Сан-Антонио, США, Техас, 1144646)]
Результаты доступны в специальной локальной переменной _
и могут быть присвоены переменной по вашему выбору:
В [3]: my_result = _
Pgcli прекратил поддержку Python<3.8 начиная с версии 4.0.0. Если вам это нужно, установите pgcli <= 4.0.0
.
Особая благодарность Джонатану Слендерсу за создание Python Prompt Toolkit, который в буквальном смысле является базовой библиотекой, которая сделала возможным создание этого приложения. Джонатан также предоставил ценные отзывы и поддержку во время разработки этого приложения.
Click используется для анализа параметров командной строки и вывода сообщений об ошибках.
Спасибо psycopg за предоставление надежного интерфейса к базе данных Postgres.
Спасибо всем бета-тестерам и участникам за ваше время и терпение. :)