烏克蘭人民正在為自己的國家而戰。許多平民、婦女和兒童正在遭受苦難。數百人死傷,數千人流離失所。
這是我的家鄉哈爾科夫的照片。這個地方就在老城區中心。
圖片由@fomenko_ph(Telegram)提供。
請考慮捐贈或志願服務。
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/
這是一個 postgres 客戶端,可以自動完成和語法突出顯示。
首頁:http://pgcli.com
MySQL 等效項:http://mycli.net
如果您已經知道如何安裝 python 套件,那麼您可以簡單地執行以下操作:
$ pip install -U pgcli 或者 $ sudo apt-get install pgcli # 僅適用於基於 Debian 的 Linux(例如 Ubuntu、Mint 等) $brew install pgcli # 僅在 macOS 上
如果您不知道如何安裝python包,請查看詳細說明。
$ pgcli [資料庫名稱] 或者 $ pgcli postgresql://[使用者[:密碼]@][netloc][:連接埠][/dbname][?extra=值[&other=其他值]]
範例:
$ pgcli 本機資料庫 $ pgcli postgres://amjith:[email protected]:5432/app_db?sslmode=verify-ca&sslrootcert=/myrootcert
欲了解更多詳情:
$ pgcli --幫助 用法:pgcli [選項] [資料庫名稱] [使用者名稱] 選項: -h, --host TEXT postgres 資料庫的主機位址。 -p, --port INTEGER postgres 實例所在的連接埠號 聽。 -U, --username TEXT 連接到 postgres 資料庫的使用者名稱。 -u, --user TEXT 連接到 postgres 資料庫的使用者名稱。 -W, --password 強制提示密碼。 -w, --no-password 不提示輸入密碼。 --single-connection 不要使用單獨的連線來完成。 -v, --version pgcli 的版本。 -d, --dbname TEXT 要連接的資料庫名稱。 --pgclirc FILE pgclirc 檔案的位置。 -D, --dsn TEXT 使用設定到 [alias_dsn] 部分的 DSN pgclirc 檔案的。 --list-dsn 設定到 [alias_dsn] 中的 DSN 列表 pgclirc 檔案的部分。 --row-limit INTEGER 設定行限制提示的閾值。使用 0 到 禁用提示。 --less-chatty 跳過啟動時的介紹和退出時的再見。 --prompt TEXT 提示格式(預設:「u@h:d> 」)。 --prompt-dsn TEXT 使用 DSN 別名進行連線的提示格式 (預設值:“u@h:d>”)。 -l, --list 列出可用的資料庫,然後退出。 --auto-vertical-output 會自動切換到垂直輸出模式,如果 結果比終端寬度更寬。 --warn [all|moderate|off] 在執行破壞性查詢之前發出警告。 --help 顯示此訊息並退出。
pgcli
也支援許多與psql
相同的環境變數作為登入選項(例如PGHOST
、 PGPORT
、 PGUSER
、 PGPASSWORD
、 PGDATABASE
)。
也支援與 SSL 相關的環境變量,因此如果需要透過 ssl 連接來連接 postgres 資料庫,可以這樣設定 set 環境:
導出 PGSSLMODE="驗證完整" 導出 PGSSLCERT="/your-path-to-certs/client.crt" 導出 PGSSLKEY="/your-path-to-keys/client.key" 導出 PGSSLROOTCERT="/your-path-to-ca/ca.crt" pgcli -h localhost -p 5432 -U 使用者名稱 postgres
pgcli 是使用prompt_toolkit 寫的。
當您鍵入 SQL 關鍵字以及資料庫中的表和列時自動完成。
使用 Pygments 進行語法高亮顯示。
智慧完成(預設啟用)將建議上下文相關的完成。
SELECT * FROM <tab>
將僅顯示表名稱。
SELECT * FROM users WHERE <tab>
將僅顯示列名稱。
對psql
反斜線指令的原始支援。
漂亮地列印表格資料。
首次啟動時會在~/.config/pgcli/config
中自動建立設定檔。有關所有可用選項的說明,請參閱文件本身。
如果您有興趣為這個專案做出貢獻,首先我謹表示衷心的感謝。我寫了一個小文件來描述如何在開發設定中運行它。
https://github.com/dbcli/pgcli/blob/master/DEVELOP.rst
如果您需要協助,請隨時與我們聯繫。 * Amjith,pgcli 作者:[email protected],Twitter:@amjithr * Irina,pgcli 維護者:[email protected],Twitter:@irinatruong
安裝 pgcli 最簡單的方法是使用 Homebrew。
$brew 安裝 pgcli
完畢!
或者,您可以使用名為pip
套件管理器將pgcli
安裝為 python 套件。您需要在系統上安裝 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 資料庫,請確保在「主機網路模式」下執行 docker。例如,要存取在 localhost:5432(標準連接埠)上執行的 postgresql 伺服器上名為「foo」的資料庫:
$ docker run --rm -ti --net 主機 pgcli pgcli -h localhost foo
若要透過 unix 套接字連接到本機運行的實例,請將套接字綁定到 docker 容器:
$ docker run --rm -ti -v /var/run/postgres:/var/run/postgres pgcli pgcli foo
Pgcli 可以從 IPython 控制台中執行。處理查詢時,在不離開 IPython 控制台的情況下進入 pgcli 會話、迭代查詢,然後退出 pgcli 以在 IPython 工作區中查找查詢結果可能會很有用。
假設你已經安裝了 IPython:
$ pip 安裝 ipython-sql
之後,執行 ipython 並載入pgcli.magic
擴充:
$ ipython 在[1]中:%load_ext pgcli.magic
連接到資料庫並建構查詢:
在[2]:%pgcli postgres://someone@localhost:5432/world 已連結:某人@world 有人@localhost:world> 從城市 c 選擇*,其中國家/地區代碼 = 'USA' 且人口 > 1000000; +------+--------------+----------------+---------- -- ---+--------------+ |編號 |名稱 |國家/地區代碼 |區 |人口| |------+--------------+----------------+---------- -- ---+--------------| | 3793 | 3793紐約 |美國 |紐約 | 8008278 | | 3794 | 3794洛杉磯|美國 |加州 | 3694820 | | 3795 | 3795芝加哥 |美國 |伊利諾州 | 2896016 | 2896016 | 3796 | 3796休斯頓 |美國 |德克薩斯州 | 1953631 | | 3797 | 3797費城 |美國 |賓夕法尼亞州 | 1517550 | | 3798 |鳳凰城 |美國 |亞利桑那州 | 1321045 | 1321045 | 3799 | 3799聖地牙哥|美國 |加州 | 1223400 | | 3800 | 3800達拉斯 |美國 |德克薩斯州 | 1188580 | | 3801 | 3801聖安東尼奧 |美國 |德克薩斯州 | 1144646 | 1144646 +------+--------------+----------------+---------- -- ---+--------------+ 選擇9 時間:0.003秒
使用Ctrl + D
退出 pgcli 會話並尋找查詢結果:
某人@localhost:world> 再見! 9 行受影響。 輸出[2]: 〔(3793,u'紐約',u'美國',u'紐約',8008278), (3794,u'洛杉磯',u'美國',u'加利福尼亞',3694820), (3795, u'芝加哥', u'美國', u'伊利諾州, 2896016), (3796,u'休斯頓',u'美國',u'德克薩斯',1953631), (3797,u'費城',u'美國',u'賓夕法尼亞',1517550), (3798,u'鳳凰城',u'美國',u'亞利桑那州',1321045), (3799,u'聖地亞哥',u'美國',u'加利福尼亞',1223400), (3800,達拉斯,美國,德克薩斯,1188580), (3801,u'聖安東尼奧',u'美國',u'德克薩斯',1144646)]
結果在特殊局部變數_
中可用,並且可以分配給您選擇的變數:
在[3]中:my_result = _
從 4.0.0 開始,Pgcli 放棄了對 Python<3.8 的支援。如果需要,請安裝pgcli <= 4.0.0
。
特別感謝 Jonathan Slenders 創建了 Python Prompt Toolkit,它實際上是骨幹庫,使這個應用程式成為可能。喬納森還在該應用程式的開發過程中提供了寶貴的回饋和支援。
Click 用於命令列選項解析和列印錯誤訊息。
感謝 psycopg 為 Postgres 資料庫提供了堅如磐石的介面。
感謝所有 Beta 測試人員和貢獻者的時間和耐心。 :)