通過原始碼編譯安裝PostgreSQL步驟及問題總結

2021-09-01 22:27:18 字數 2077 閱讀 4022

root@vm-199:~# wget

root@vm-199:~# tar zxvf postgresql-9.3.2.tar.gz

###2.編譯安裝,安裝到/opt/postgresql/9.3目錄。

root@vm-199:~# cd postgresql-9.3.2

root@vm-199:~# ./configure --prefix=/opt/postgresql/9.3

root@vm-199:~# make

root@vm-199:~# make install

###3.看到postgresql installation complete.說明安裝成功。

###4.建立postgres使用者和資料目錄/opt/postgresql/9.3/data,修改資料目錄所有者和許可權。

root@vm-199:~# adduser postgres

root@vm-199:~# mkdir -p /opt/postgresql/9.3/data

root@vm-199:~# chown -r postgres.postgres /opt/postgresql/9.3/data

root@vm-199:~# chmod -r go-rwx /opt/postgresql/9.3/data

###5.設定全域性環境變數

root@vm-199:~# vi /etc/profile

###新增如下配置到開啟檔案中。

export path=/opt/postgresql/9.3/bin:$path

export pgdata=/opt/postgresql/9.3/data

export pghome=/opt/postgresql/9.3

export lang=zh_cn.utf-8

export pgport=5432

###6.初始化資料庫,啟動。

postgres@vm-199:~$ initdb -d /opt/postgresql/9.3/data --locale=zh_cn.utf8

postgres@vm-199:~$ pg_ctl start

這裡博主在第二步的時候碰到過乙個問題,執行./configure --prefix=/opt/postgresql/9.3後提示「configure: error: readline library not found」的錯誤,在askubuntu上看到解決辦法是先安裝libreadline-dev依賴。

最後我們把postgresql新增到服務中,設定開機自動啟動。

root@vm-199:~# cd /etc/init.d

root@vm-199:/etc/init.d# wget

root@vm-199:/etc/init.d# chmod +x postgresql-9.3

root@vm-199:/etc/init.d# update-rc.d postgresql-9.3 defaults

至此postgresql的安裝應該已經全部結束,但是博主在匯入資料的時候發現postgres_fdw擴充套件沒有安裝。按照之前這篇文章介紹的postgres_fdw安裝時出現錯誤,提示如下。

postgres=# create extension postgres_fdw;

error: could not open extension control file "/opt/postgresql/9.3/share/postgresql/extension/postgres_fdw.control": no such file or directory

檢視postgresql官方文件,原來編譯安裝的時候擴充套件預設是不安裝的,「when building from the source distribution, these components are not built automatically

」。手動安裝postgres_fdw擴充套件比較簡單,進入原始碼目錄下的/contrib/postgres_fdw,分別執行make和make install進行安裝,成功再執行create extension postgres_fdw就不會提示錯誤了。

有關擴充套件安裝可以檢視官方介紹: 。

mac通過tree原始碼編譯安裝tree

通過tree原始碼編譯安裝 解壓原始碼 tar xzvf tree 1.6.0.tgz 修改makefile檔案 tree預設的是linux的編譯環境,因此移植到mac裡面需要注釋掉linux的編譯選項,換成mac的編譯選項 直接vim makefile這個檔案 linux defaults cfl...

Linux下通過原始碼編譯安裝程式

一 程式的組成部分 linux下程式大都是由以下幾部分組成 二進位制檔案 也就是可以執行的程式檔案 庫檔案 就是通常我們見到的lib目錄下的檔案 配置檔案 這個不必多說,都知道 幫助文件 通常是我們在linux下用man命令檢視的命令的文件 二 linux下程式的存放目錄 linux程式的存放目錄大...

CentOS 通過原始碼編譯形式安裝 Tengine

本篇簡單說說在如何在 linux 系統上通過原始碼編譯的形式安裝 tengine,純屬筆記。tengine 官網路徑 linux 版本 centos6.9 x64 tengine 版本 tengine 2.3.2.tar.gz 關閉 linux 機器防火牆 上傳 tengine 安裝包 tengin...