配置PostgreSQL對應的yum源
10年積累的做網站、網站制作經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有姜堰免費網站建設讓你可以放心的選擇與我們合作。
使用命令:dnf install -y ,獲取yum配置文件。
安裝PostgreSQL13對應的rpm包
一般來說PostgreSQL需要安裝的包包括:
依賴庫包:postgresql13-libs.x86_64
模塊分布式:postgresql13-contrib.x86_64
客戶端:postgresql13.x86_64
服務端:postgresql13-server.x86_64
創建postgres用戶及組
groupadd postgres 創建postgres組
useradd -g postgres創建postgres用戶
初始化數據庫
安裝postgresql數據庫后,默認的數據目錄為: /var/lib/pgsql/10/data/。但是在實際使用中,我們必須為postgresql數據庫指定專用的數據路徑。
1、創建指定路徑
mkdir -p /data/pgdata
2、修改pgdata的所有者
chown postgres /data/pgdata
3、切換到postgres用戶
su - postgres?
4、初始化postgres數據庫實例
/usr/pgsql-13/bin/initdb -D /data/pgdata
到這里就安裝完成了。
PostgreSQL 和 MySQL 是將數據組織成表的關系數據庫。這些表可以根據每個表共有的數據鏈接或關聯。關系數據庫使您的企業能夠更好地了解可用數據之間的關系,并幫助獲得新的見解以做出更好的決策或發現新的機會。
PostgreSQL 和 MySQL 都依賴于 SQL(結構化查詢語言),這是與管理系統交互的標準語言。SQL 允許使用具有簡單結構的幾行源代碼連接表,大多數非技術員工可以快速學習。
使用 SQL,分析師不需要知道訂單表在磁盤上的位置、如何執行查找以查找特定訂單或如何連接訂單表和客戶表。數據庫編譯查詢并計算出正確的數據點。
MySQL 和 PostgreSQL 都支持 JavaScript Object Notation (JSON) 存儲和傳輸數據,盡管 PostgreSQL 也支持 JSONB,這是 JSON 的二進制版本,它消除了鍵的重復和無關的空格。
除了傳統的支持機制外,這兩個數據庫都提供強大的社區支持。
PostgreSQL,也稱為 Postgres,是一種開源關系數據庫,因其可靠性、靈活性和對開放技術標準的支持而享有盛譽。PostgreSQL 支持非關系和關系數據類型。它被稱為當今可用的最兼容、最穩定和最成熟的關系數據庫之一,并且可以輕松處理復雜的查詢。
PostgreSQL 的特性包括:
PostgreSQL 這是一個“一刀切”的解決方案,適用于許多尋求經濟高效的方法來改進其數據庫管理系統 (DBMS) 的企業。它具有足夠的可擴展性和多功能性,可以通過強大的擴展生態系統快速支持各種專業用例,涵蓋時間序列數據類型和地理空間分析等工作。作為開源數據庫解決方案構建的 PostgreSQL 完全不受許可限制、供應商鎖定的可能性或過度部署的風險。PostgreSQL 通過對象關系數據庫管理系統 (ORDBMS) 進行管理。
PostgreSQL 負責管理業務活動的在線事務處理 (OLTP)協議的企業數據庫管理員提供了理想的解決方案,包括電子商務、客戶關系管理系統 (CRM) 和財務分類帳。它也是管理接收、創建和生成的數據分析的理想選擇。
這些是 PostgreSQL 的一些主要優點:
MySQL — 一種快速、可靠、可擴展且易于使用的開源關系數據庫系統 — 旨在處理關鍵任務、高負載的生產應用程序。它是一種常見且易于啟動的數據庫,內存、磁盤和 CPU 利用率較低,有關系數據庫管理系統 (RDMS) 管理。MySQL Community Edition 是一個由活躍的在線社區支持的免費下載版本。
MySQL 功能包括所有 SQL 標準命令以及事務和 ACID 合規性(代表原子性、一致性、隔離性和持久性)。
兩個最常見的關系數據庫是什么 MySQL 和 Oracle。MySQL 不是 SQL Server 的同義詞,SQL Server 是 Microsoft 許可產品,與 MAC OS X 缺乏兼容性。
MariaDB 經常與 MySQL 混淆,它是 MySQL 的一個開源分支,速度更快,提供更多存儲引擎 (12),但功能有限。MySQL 和 MariaDB 使用的存儲引擎都是 InnoDB。InnoDB 提供標準的 ACID 兼容特性。與 MySQL 不同,MariaDB 不支持數據屏蔽或動態列表。
MySQL 通常用作 Web 數據庫來存儲各種信息類型,從單個信息數據點到為組織提供的產品或服務的完整列表。它是LAMP(Linux 操作系統、Apache HTTP 服務器、MySQL RDBMS 和 PHP 編程語言)的基礎組件,這是一種有助于創建API、Web 應用程序和網站的軟件堆棧模型。
MySQL Workbench 是一個單一的、集成的可視化 SQL 平臺,用于 MySQL 數據庫的創建、開發、設計和管理。
MySQL 為市場提供了許多好處,包括:
PostgreSQL 和 MySQL 之間有很多不同之處。特性、功能和優勢方面的一些差異如下:
總之,PostgreSQL 和 MySQL 都有不同的用途,它們之間的選擇取決于企業目標和資源。一般來說,PostgreSQL 是一個更強大、更高級的數據庫管理系統,非常適合需要在大型環境中快速執行復雜查詢的組織。但是,對于預算和空間更受限制的公司來說,MySQL 是一個理想的解決方案。
安裝postgresql-10的時候會報錯:
出現上述錯誤原因是系統自身未安裝libicu相關的包,根據系統提示安裝sysstat即可解決:
postgreSQL命令的詞法分析和語法分析是由Unix工具Yacc和Lex制作的。使用的是 Bison 和
Flex。
詞法分析和語法分析依賴的文件定義在src\backend\parser下的scan.l和gram.y。其中:
在raw_parser函數(在src/backend/parser/parser.c下)中,主要通過調用Lex和Yacc配合生成的base_yyparse函數來實現詞法分析和語法分析的工作。
其他的重要源碼文件:
輔助腳本:
SQL關鍵字定義及查找函數
SQL關鍵字列表
因為查找是采用二分查找法。如果添加關鍵字,需要保持name的順序。
在mysql中遇到依賴表a的數據來大量更新表b的數據時可以使用update join的語法
在postgresql也可以做到 語法和mysql有一些差別
這是postgresql的update語法
update中可以包含一個form子句 當包含form子句時 where子句中需要指明update的表和form子句的關聯關系
例如:
employee:id name attendance_duration ...
attendance: employee_id duration date ...
將全部員工上月的出勤時間累加到employee表的attendance_duration中
update employee set attendance_duration=attendance_duration+t.ad
from (select sum(duration) from attendance where date... and date ... group by employee_id) as t
where employee.id =attendance.employee_id
利用這個特性配合case when等語法實現復雜業務邏輯 可以避免大量數據逐一更新
能極大提高update性能
DB version: PostgreSQL 12.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
OS: CentOS Linux release 7.7.1908 (Core)
roaringbitmap: roaringbitmap-0.5
roaringbitmap插件github地址:
作者github地址里的安裝過程寫的比較簡單,一路碰到不少坑,記錄下來供參考。
1.查看當前安裝的pg,確保只有一個版本存在
2.確認當前環境變量配置
3.確認postgres主機賬號已設置密碼
4.確認postgres主機賬號已添加至sudoers文件中
1.安裝 llvm-toolset-7-clang = 4.0.1
2.安裝 llvm5.0-devel = 5.0
3.安裝postgresql12-devel
1.make (warning不用理會,沒有error即可)
2.make install(如果此步驟缺少后面的四行輸出則會遇到后面的報錯3)
見github地址
報錯1:未配置環境變量以及未安裝 postgresql12-devel 開發包
報錯2:未安裝依賴包 llvm5.0-devel = 5.0 和 llvm-toolset-7-clang = 4.0.1
報錯3.make install 步驟不完整導致報錯 Float8GetDatum
標題名稱:關于postgresql依賴的信息
網頁鏈接:http://www.yijiale78.com/article32/dsccjsc.html
成都網站建設公司_創新互聯,為您提供App設計、網站改版、云服務器、響應式網站、商城網站、企業建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯