日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

PostgreSQL教程:PostgreSQL 10入门

發布時間:2023/12/3 综合教程 39 生活家
生活随笔 收集整理的這篇文章主要介紹了 PostgreSQL教程:PostgreSQL 10入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多年來,PostgreSQL一直是企業軟件和開放源代碼中保存最好的秘密之一,它是一個功能強大,健壯且經過專家維護的關系數據庫。 MySQL可能更廣為人知,但PostgreSQL提供了MySQL剛開始提供的許多功能。

在本文中,我將逐步介紹設置和運行基本PostgreSQL安裝的步驟。 大多數討論將針對完全重新開始的人們,但我將介紹有關從以前的PostgreSQL安裝或其他數據庫解決方案遷移數據的詳細信息。 最后,本文重點介紹PostgreSQL 10系列發行版,即撰寫本文時PostgreSQL的最新和最新版本。

[社區: 誰真正為開源做出了貢獻 。 | 慶祝活動: 開源20年:改變世界的歷史 。 | 相反: 20年過去了,開源并沒有像承諾的那樣改變世界 。 ]

選擇您的PostgreSQL平臺

PostgreSQL可用于所有主要操作系統的二進制形式:Windows的臺式機和服務器版本,Linux,MacOS的所有流行版本以及Solaris等企業中使用的其他一些OS。

總的來說,PostgreSQL在所支持的各種平臺上的功能都是相同的。 我們將在下面詳細討論該規則的一些例外情況,因此請記住這些例外情況如何影響任何部署或應用程序開發計劃。

在Linux上安裝PostgreSQL

Linux發行版在軟件安裝和維護方面有很大不同:不同的軟件包管理器,不同的軟件包格式,不同的軟件存儲庫理念。 PostgreSQL不能免除這些差異,這可能是在您的平臺上獲取軟件的最新版本的障礙。

例如, Ubuntu在其APT存儲庫中維護PostgreSQL的版本。 如果它不是最新版本,則需要將apt.postgresql.org存儲庫添加到您的回購列表中,然后從那里獲取PostgreSQL。

對于Red Hat和Fedora Linux,每個版本庫中都包含一個PostgreSQL版本。 與Red Hat Enterprise Linux相比,Fedora的更新頻率更高(大約每年兩次),并且包含新版本的應用程序的速度要快得多,但是無論哪種情況,通過存儲庫提供的PostgreSQL版本可能都不是您想要的版本。 例如,在Red Hat Enterprise Linux的默認存儲庫中,您找不到比9.2更高的PostgreSQL版本。

因此,為Red Hat或Fedora安裝最新版本的PostgreSQL的最可靠方法是直接通過交互式下載頁面從PostgreSQL或從PostgreSQL的yum存儲庫下載安裝工件。

可從Docker Hub獲得 Linux上每個主要PostgreSQL版本的Docker容器映像。 請注意,您將需要為容器提供用于持久數據存儲的位置。 默認位置是/var/lib/postgresql/data 。 您可以通過編輯PGDATA環境變量來指向其他位置。

Linux上的另一個注意事項是要使用哪個文件系統來存儲PostgreSQL數據。 過去的基準測試通常偏愛XFS或Ext4,盡管根據鏈接文章,它們必須配置特定的選項(例如nobarrier )才能獲得最佳效果。 盡管PostgreSQL FAQ引用ZFS的委派管理和快照功能,但Ubuntu是當今唯一捆綁ZFS的主要Linux發行版。 在其他Linux發行版中,您將必須自行設置ZFS。

在MacOS上安裝PostgreSQL

Mac用戶經常依賴Homebrew ,它是MacOS的開源軟件包管理器,已經成為從命令行在Mac上安裝開源項目的事實上的方法。 Homebrew允許您使用一個命令( brew install postgresql ) 安裝PostgreSQL及其所有依賴項。

在MacOS上安裝PostgreSQL的另一種方法是Postgres.app ,這是將PostgreSQL重新包裝為常規Mac應用程序的第三方。 該網站提供了最新版本的PostgreSQL和所有主要的PostgreSQL GUI客戶端的安裝程序,甚至在需要時進行自我更新。 Postgres.app還為您執行一些自動預配置,例如初始化數據目錄和用戶數據庫,并捆綁了許多常用工具,如pg_upgrade

在Windows上安裝PostgreSQL

那些希望在Windows上設置PostgreSQL的用戶可以選擇由第三方打包的安裝程序,從簡單的.ZIP存檔到交互式GUI驅動的安裝程序,應有盡有。

  • BigSQL的圖形安裝程序是基本而直接的。 它僅安裝PostgreSQL和pgAdmin,在安裝過程中提示用戶基本的安裝信息-數據目錄,主密碼等。
  • EnterpriseDB安裝程序提供了更多的安裝時選項。 其中包括“ Stack Builder”,該工具用于下載和安裝大量其他工具:數據庫驅動程序,其他版本的PostgreSQL(如果需要并行運行它們),EnterpriseDB自己的PostgreSQL附加組件以及用于PostgreSQL的Slony-I復制系統。 對于專家來說,EnterpriseDB還提供了一個簡單的.ZIP存檔,僅此而已。
  • 如果您想在Windows上運行PostgreSQL而不進行安裝或保留任何數據,可以使用PostgreSQL Portable 。 為PortableApps應用程序啟動器打包,它在單個目錄中提供了完整的PostgreSQL服務器實例,而沒有任何外部依賴關系。 這對于在軟件安裝受到限制的臺式機上進行測試或要將PostgreSQL工作限制在非系統或可移動驅動器上的桌面非常有用。

在Windows上運行PostgreSQL時要牢記的一個重要警告是,在給定的時間內PostgreSQL可以保持打開狀態的連接數限制約為125。 此限制僅在PostgreSQL作為服務運行時適用,而不是從命令行調用。

根據PostgreSQL Wiki ,這是因為“ PostgreSQL依賴的某些庫依賴于user32.dll,后者從稱為Desktop Heap的區域分配內存。” 由于堆的大小是固定的,并且每個連接都會消耗一定數量的內存,因此大約125個以上的連接可能會發生故障。

就是說,在大多數使用情況下這不太可能成為問題,因為很少有人需要與PostgreSQL同時建立許多直接連接。 設計良好的應用程序可以使用連接池來避免遇到連接限制。 無論如何,連接池都是您應該做的事情,以保持與數據庫的連接數與服務器上可用的硬件線程數相稱。

在Linux上配置PostgreSQL

如果您使用上述的PostgreSQL圖形安裝程序之一,尤其是Windows,則將逐步完成運行PostgreSQL安裝所需的步驟。 但是,在Linux中,大多數情況下,您需要自己采取這些步驟。

在Fedora Linux上配置PostgreSQL

PostgreSQL 10包含在Fedora 28的默認存儲庫中,因此運行sudo dnf install postgresql-server postgresql-contrib將直接安裝這些位。 之后,您可能希望啟用PostgreSQL在引導時啟動:

sudo systemctl enable postgresql

您還需要手動運行PostgreSQL的安裝腳本來創建初始數據庫:

sudo postgresql-setup --initdb --unit postgresql

設置postgres 系統密碼,即PostgreSQL服務運行帳戶的密碼:

sudo passwd postgres

啟動PostgreSQL服務器:

sudo systemctl start postgresql

然后設置postgres 內部用戶帳戶的密碼,即用于直接連接到PostgreSQL的帳戶。 運行psql命令行應用程序以連接到PostgreSQL,然后發出命令\password postgres (注意前面的反斜杠)。

Fedora Wiki中提供了許多有關在Fedora Linux上安裝PostgreSQL的附加說明,但是這些步驟對于基本的安裝就足夠了。

在Ubuntu Linux上配置PostgreSQL

Ubuntu 18.04的默認存儲庫中包含PostgreSQL 10,因此設置過程與Fedora的相似,但更加簡化:

  • 安裝基本軟件包:
    sudo apt update
    sudo apt install postgresql postgresql-contrib
  • 設置用戶帳號密碼:
    sudo passwd postgres
  • 將PostgreSQL服務設置為自動啟動:
    sudo systemctl enable postgresql

    sudo systemctl start postgresql
  • 更改用戶并連接到服務器進行測試:
    sudo -i -u postgres
    psql

請注意,這里不需要postgresql-setup步驟。 安裝過程包含執行該步驟所需的觸發器。

在PostgreSQL版本之間遷移數據

您將要采取的最后步驟之一是將數據從PostgreSQL的任何舊實例遷移到新實例。 從版本10開始,PostgreSQL具有三種在數據庫升級期間遷移數據的主要方法。

  • pg_upgrade實用程序是在PostrgreSQL版本之間遷移數據的首選方法。 當您同時安裝新版本的PostgreSQL和舊版本的PostgreSQL時,通常使用它。 您從新安裝中運行pg_upgrade ,將其指向舊安裝,然后將其移到數據上。 pg_upgrade利用PostgreSQL數據格式的點修訂之間的一致性來加快遷移過程,因此它不僅是最方便的遷移方式,而且通常是最快的方式。
  • 執行升級/遷移的另一種方法是使用PostgreSQL復制(例如Slony)。 在這里,您可以使用新版本的PostgreSQL為運行舊版本的服務器創建備用服務器。 此方法導致的停機時間最少,因為復制是在后臺進行的。 復制完成后,您需要做的就是將所有連接從舊服務器重定向到新服務器。 但是,如果您不首先使用復制,則可能涉及跳過太多的麻煩。
  • pg_dumpall實用程序將PostgreSQL服務器的全部內容導出到一個或多個SQL轉儲文件。 然后,生成的腳本或歸檔文件可以在新服務器上執行或導入到新服務器中。 還可以并排設置新舊服務器,并使用pg_dumpall來“管道化”它們之間的轉儲操作。 使用pg_dumpall的最大缺點是它很慢,但是可以用作絕對的后備方法。

在Windows,MacOS或Linux上安裝pgAdmin 4

PostgreSQL的第三方管理工具pgAdmin 4提供了用于管理PostgreSQL安裝的有用的Web GUI。 不幸的是,由于該工具是用Python編寫的,因此從某種意義上來說很難啟動和運行,并且依賴于該語言。

MacOS和Windows用戶可以從pgAdmin網站下載pgAdmin 4的二進制安裝程序 。

對于Ubuntu, 有一個APT軟件包 。 Ask Ubuntu論壇中還有一篇帖子,介紹了安裝pgAdmin 4,使其運行并創建啟動腳本的便捷快捷方式所需的步驟。

對于Fedora和Red Hat, 有一個RPM軟件包 。 但是,在撰寫本文時,RPM軟件包有一個小錯誤,其中省略了主要的Python軟件包。 下面的食譜復制了上一個鏈接中的許多步驟,其中包括一個可解決此問題的附加步驟(第2行):

$ sudo dnf install pgadmin4
$ sudo dnf install python3-flask-babelex
$ sudo /usr/pgadmin4/bin/pgadmin4-web-setup.sh
$ pgadmin4

最后一個命令啟動pgAdmin 4后端,最后啟動一個Web瀏覽器以查看它。

如果您是Docker用戶,則可以通過將Docker容器與pgAdmin 4及其所有依賴項一起使用并使用來避免大部分麻煩。

From: https://www.infoworld.com/article/3300799/postgresql-tutorial-get-started-with-postgresql-10.html

總結

以上是生活随笔為你收集整理的PostgreSQL教程:PostgreSQL 10入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。