當前位置:首頁 » 編程軟體 » postgresql離線編譯安裝

postgresql離線編譯安裝

發布時間: 2023-09-19 04:23:27

linux下postgresql 9.4 怎麼安裝

postgresql 9.4 在linux環境的安裝步驟詳解

這里實驗的環境系統:centos 6.4 64位

軟體:postgresql 9.4.1

軟體下載
cd /usr/local/src/
wget https://ftp.postgresql.org/pub/source/v9.4.1/postgresql-9.4.1.tar.gz

安裝依賴包
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

安裝postgresql
tar xf postgresql-9.4.1.tar.gz
cd postgresql-9.4.1
./configure --prefix=/usr/local/pgsql --with-perl --with-python --with-libxml --with-libxslt
gamke
gamke install

安裝PG插件
cd /usr/local/src/postgresql-9.4.1/contrib
gmake
gmake install
載入動態庫
echo "/usr/local/pgsql/lib" >> /etc/ld.so.conf.d/pgsql.conf
ldconfig
初始化資料庫
創建用戶postgres
useradd postgres
echo "postgres"|passwd --stdin postgres

創建PG數據目錄
mkdir -p /data/pg/data
chown -R postgres:postgres /data/pg
/usr/local/pgsql/bin/initdb --no-locale -U postgres -E utf8 -D /data/pg/data -W
(在初始化的時候,看提示添加超級用戶的密碼)

備注
initdb [選項]... [DATADIR]
-A, --auth=METHOD 本地連接的默認認證方法
-D, --pgdata=DATADIR 當前資料庫簇的位置
-E, --encoding=ENCODING 為新資料庫設置默認編碼
--locale=LOCALE 為新資料庫設置默認語言環境
--lc-collate, --lc-ctype, --lc-messages=LOCALE
--lc-monetary, --lc-numeric, --lc-time=LOCALE
為新的資料庫簇在各自的目錄中分別
設定預設語言環境(默認使用環境變
量)
--no-locale 等同於 --locale=C
--pwfile=文件名 對於新的超級用戶從文件讀取口令
-T, --text-search-config=CFG
預設的文本搜索配置
-U, --username=NAME 資料庫超級用戶名
-W, --pwprompt 對於新的超級用戶提示輸入口令
-X, --xlogdir=XLOGDIR 當前事務日誌目錄的位置

非普通使用選項:
-d, --debug 產生大量的除錯信息
-L DIRECTORY 輸入文件的位置
-n, --noclean 出錯後不清理
-s, --show 顯示內部設置

其它選項:
-?, --help 顯示此幫助, 然後退出
-V, --version 輸出版本信息, 然後退出

如果沒有指定數據目錄, 將使用環境變數 PGDATA

配置運行環境變數(方便管理)
切換到root
vim /etc/profile

添加以下代碼:
PGDATA=/data/pg/data
PGHOST=127.0.0.1
PGDATABASE=postgres
PGUSER=postgres
PGPORT=5432
PATH=/usr/local/pgsql/bin:$PATH
export PATH
export PGDATA PGHOST PGDATABASE PGUSER PGPORT

執行生效
source /etc/profile

postgresql服務管理
啟動:
pg_ctl start -D /data/pg/data

重啟:
pg_ctl restart -D /data/pg/data

停止:
pg_ctl stop -D /data/pg/data

強制重啟:
pg_ctl restart -D /data/pg/data -m f

強制停止:
pg_ctl stop -D /data/pg/data -m f
-m f 指定快速關閉

載入配置:
pg_ctl reload -D /data/pg/data

顯示服務狀態:
pg_ctl status -D /data/pg/data

連接資料庫
psql -h 127.0.0.1 -U postgres -p 5432 -d postgres -W
-d 指定資料庫 ,-W 輸入密碼 , -U 指定用戶,-p 指定埠,-h 指定IP

復制PostgreSQL執行腳本
cp /usr/local/src/postgresql-9.4.1/contrib/start-scripts/linux /etc/init.d/postgresql
chmod +x /etc/init.d/postgresql

修改/etc/init.d/postgresql
把PGDATA改成PGDATA=/data/pg/data

加入開機啟動
chkconfig postgresql on

管理PG服務時也可以直接用上面啟動腳本
啟動:service postgresql start
停止:service postgresql stop
重啟:service postgresql restart
載入:service postgresql reload
狀態:serivce postgresql status

❷ centos6.3裝配postgresq 3種方式怎麼解決

一、簡介扒含
PostgreSQL 是一種非常復雜的對象-關系型資料庫管理系統(ORDBMS),也是目前功能最強大,特性最豐富和最復雜的自由軟體資料庫系激絕統。有些特性甚至連商業資料庫都不具備。這個起源於伯克利(BSD)的資料庫研究計劃目前已經衍生成一項國際開發項目,並且有非常廣泛的用戶。
二、系統環境
系統平台:CentOS release 6.3 (Final)
PostgreSQL 版本:PostgreSQL 9.2.4
防火明此姿牆已關閉/iptables: Firewall is not running.
SELINUX=disabled
三、安裝方式
A. RPM包安裝
B. yum 安裝
C. 源碼包安裝
四、安裝過程
A. RPM包安裝
1. 檢查PostgreSQL 是否已經安裝
# rpm -qa|grep postgres

若已經安裝,則使用rpm -e 命令卸載。
2. 下載RPM包
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
#wget http://yum.postgresql.org/9.2/redhat/rhel-6-i386/postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
3. 安裝PostgreSQL,注意安裝順序
# rpm -ivh postgresql92-libs-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-server-9.2.4-1PGDG.rhel6.i686.rpm
# rpm -ivh postgresql92-contrib-9.2.4-1PGDG.rhel6.i686.rpm
4. 初始化PostgreSQL 資料庫
PostgreSQL 服務初次啟動的時候會提示初始化。

初始化資料庫
# service postgresql-9.2 initdb

5. 啟動服務
# service postgresql-9.2 start

6. 把PostgreSQL 服務加入到啟動列表
# chkconfig postgresql-9.2 on
# chkconfig --list|grep postgres

7. 修改PostgreSQL 資料庫用戶postgres的密碼(注意不是linux系統帳號)
PostgreSQL 資料庫默認會創建一個postgres的資料庫用戶作為資料庫的管理員,默認密碼為空,我們需要修改為指定的密碼,這里設定為』postgres』。
# su - postgres
$ psql
# ALTER USER postgres WITH PASSWORD 'postgres';
# select * from pg_shadow ;

8. 測試資料庫
8.1 創建測試資料庫
# create database david;

8.2 切換到david 資料庫
# \c david

8.3 創建測試表
david=# create table test (id integer, name text);

8.4 插入測試數據
david=# insert into test values (1,'david');
INSERT 0 1
david=#

8.5 選擇數據

david=# select * from test ;
id | name
----+-------
1 | david
(1 row)

david=#

測試完成,RPM包安裝成功。
9. 修改linux 系統用戶postgres 的密碼
PostgreSQL 資料庫默認會創建一個linux 系統用戶postgres,通過passwd 命令設置系統用戶的密碼為post123。
# passwd postgres

10. 修改PostgresSQL 資料庫配置實現遠程訪問
10.1 修改postgresql.conf 文件
# vi /var/lib/pgsql/9.2/data/postgresql.conf

如果想讓PostgreSQL 監聽整個網路的話,將listen_addresses 前的#去掉,並將 listen_addresses = 'localhost' 改成 listen_addresses = '*'
10.2 修改客戶端認證配置文件pg_hba.conf

將需要遠程訪問資料庫的IP地址或地址段加入該文件。
# vi /var/lib/pgsql/9.2/data/pg_hba.conf

11. 重啟服務以使設置生效
# service postgresql-9.2 restart

12. 遠程測試連接

連接成功。
B. yum 安裝
1. 將剛才安裝的PostgreSQL 卸載
//停止PostgreSQL服務
# /etc/init.d/postgresql-9.2 stop

//查看已安裝的包
# rpm -qa|grep postgres

//卸載
# rpm -e postgresql92-server-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-contrib-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-9.2.4-1PGDG.rhel6.i686
# rpm -e postgresql92-libs-9.2.4-1PGDG.rhel6.i686

2. yum 安裝
如果是默認yum 安裝的話,會安裝較低版本的PostgreSQL 8.4,這不符合我們的要求。

我們使用PostgreSQL Yum Repository 來安裝最新版本的PostgreSQL。
2.1 安裝PostgreSQL yum repository
# rpm -i http://yum.postgresql.org/9.2/redhat/rhel-6-x86_64/pgdg-redhat92-9.2-7.noarch.rpm

2.2 安裝新版本PostgreSQL
# yum install postgresql92-server postgresql92-contrib

2.3 查看安裝

3. 初始化並啟動資料庫

4. 測試

其他步驟如A方式。
C. 源碼包安裝
1. 下載PostgreSQL 源碼包
# wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2
2. 解壓源碼包
# tar xjf postgresql-9.2.4.tar.bz2
3. 進入解壓後的目錄
# cd postgresql-9.2.4

4. 查看INSTALL 文件
INSTALL 文件中Short Version 部分解釋了如何安裝PostgreSQL 的命令,Requirements 部分描述了安裝PostgreSQL 所依賴的lib,比較長,先configure 試一下,如果出現error,那麼需要檢查是否滿足了Requirements 的要求。

5. 開始編譯安裝PostgreSQL 資料庫。
[root@TS-DEV postgresql-9.2.4]# ./configure

configure 成功,無錯誤。
6. 執行gmake
[root@TS-DEV postgresql-9.2.4]# gmake

gmake 成功,Ready to install.
7. 執行gmake install
[root@TS-DEV postgresql-9.2.4]# gmake install

gmake install 成功,到這一步,PostgreSQL 源碼編譯安裝完成,下面開始配置PostgreSQL.
8. 設置環境變數
# vi .bash_profile
把 PATH=$PATH:$HOME/bin
改成 PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
保存退出。
讓環境變數生效:
# source .bash_profile
9. 添加用戶postgres
# adser postgres

* 更改用戶目錄(可選操作)
# vi /etc/passwd
把 postgres:x:528:528::/home/postgres:/bin/bash
改成 postgres:x:528:528::/usr/local/pgsql:/bin/bash
將.bash_profile 移動到新的用戶目錄並修改許可權
# cp /home/postgres/.bash_profile /usr/local/pgsql/
# chown postgres.postgres .bash_profile
刪除用戶目錄:
[root@TS-DEV home]# rm -rf postgres/
10. 初始化資料庫
10.1 新建數據目錄
# mkdir /usr/local/pgsql/data
10.2 更改許可權
# chown postgres /usr/local/pgsql/data
10.3 切換到postgres 用戶
# su - postgres

10.4 init db
$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

到這里數據的初始化就完成了。
11. 系統服務
11.1 回到root 用戶
$ exit
11.2 復制安裝目錄下的linux文件到/etc/init.d/
進入postgresql 的安裝目錄(即剛剛使用tar命令解壓的目錄)
# cd postgresql-9.2.4
# cp contrib/start-scripts/linux /etc/init.d/postgresql

11.3 添加執行許可權
# chmod +x /etc/init.d/postgresql
11.4 啟動資料庫

11.5 讓資料庫開機啟動
# chkconfig --add postgresql
# chkconfig postgresql on

11.6 創建資料庫操作的歷史記錄文件

12. 測試使用
# su - postgres
$ createdb test
$ psql test
test=# create table test(id int);

源碼編譯安裝成功。

❸ 如何安裝PostgreSQL

PostgreSQL安裝:
一、windows下安裝過程
安裝介質:postgresql-9.1.3-1-windows.exe(46M),安裝過程非常簡單,過程如下:
1、開始安裝:

2、選擇程序安裝目錄:

註:安裝 PostgreSQL 的分區最好是 NTFS 格式的。PostgreSQL 首要任務是要保證數據的完整性,而 FAT 和 FAT32 文件系統不能提供這樣的可靠性保障,而且 FAT 文件系統缺乏安全性保障,無法保證原始數據在未經授權的情況下被更改。此外,PostgreSQL 所使用的"多分點"功能完成表空間的這一特徵在FAT文件系統下無法實現。
然而,在某些系統中,只有一種 FAT 分區,這種情況下,可以正常安裝 PostgreSQL,但不要進行資料庫的初始化工作。安裝完成後,在 FAT 分區上手動執行 initdb.exe 程序即可,但不能保證其安全性和可靠性,並且建立表空間也會失敗。
3、選擇數據存放目錄:

4、輸入資料庫超級用戶和創建的OS用戶的密碼

註:資料庫超級用戶是一個非管理員賬戶,這是為了減少黑客利用在 PostgreSQL 發現的缺陷對系統造成損害,因此需要對資料庫超級用戶設置密碼,如下圖所示,安裝程序自動建立的服務用戶的用戶名默認為 postgres。
5、設置服務監聽埠,默認為5432

6、選擇運行時語言環境

註:選擇資料庫存儲區域的運行時語言環境(字元編碼格式)。
在選擇語言環境時,若選擇"default locale"會導致安裝不正確;同時,PostgreSQL 不支持 GBK 和 GB18030 作為字元集,如果選擇其它四個中文字元集:中文繁體 香港(Chinese[Traditional], Hong Kong S.A.R.)、中文簡體 新加坡(Chinese[Simplified], Singapore)、中文繁體 台灣(Chinese[Traditional], Taiwan)和中文繁體 澳門(Chinese[Traditional], Marco S.A.R.),會導致查詢結果和排序效果不正確。建議選擇"C",即不使用區域。
----我選擇了default localt,安裝正確;建議選擇default localt。
7、安裝過程(2分鍾)

8、安裝完成

安裝完成後,從開始文件夾可以看到:

在安裝目錄可以看到:

其中:data存放數據文件、日誌文件、控制文件、配置文件等。
uninstall-postgresql.exe用於卸載已安裝的資料庫管理系統。
pg_env.bat里配置了資料庫的幾個環境變數,內容如下:

二、pgAdmin(大象)
對於每種資料庫管理系統,都有相當多的設計與管理工具(可視化界面管理工具),有的是資料庫廠商自己提供的(一般都至少有一個),有的是第三方公司開發的,你甚至可以自己寫一個簡單易用的管理工具。例如Oracle的Oracle SQL Developer(自己開發的)、PLSQL Developer(第三方公司開發的)、SQL Server Management Studio(自己開發的)、http://www.oschina.net/project(開源中國)網站上提供的個人或組織開發的簡易小巧的管理工具。
PostgreSQL就有好幾款流行的管理工具,例如:pgAdmin、navicat_pgsql、phppgsql等。
pgAdmin是一個針對PostgreSQL資料庫的設計和管理介面,可以在大多數操作系統上運行。軟體用C++編寫,具有很優秀的性能。
pgadmin 是與 Postgres 分開發布的,可以從www.pgadmin.org下載。目前裝個全功能的PostgreSQL資料庫,自帶該管理工具。
打開pgAdmin,可以看到在第一部分安裝的本地資料庫的屬性,如下圖所示:

圖中可以看出,新安裝的PostgreSQL資料庫管理系統帶有一個資料庫postgres;已建好兩個表空間:pg_default、pg_global。
initdb.exe初始化的兩個默認表空間pg_global、pg_default。資料庫默認的表空間pg_default 是用來存儲系統目錄對象、用戶表、用戶表index、和臨時表、臨時表index、內部臨時表的默認空間,他是模板資料庫template0和template1的默認表空間。initdb.exe初始化的兩個默認表空間pg_global、pg_default。資料庫默認的表空間pg_global是用來存儲共享系統目錄的默認空間。
pg_default 為 PostgreSQL也可以理解成系統表空間,它對應的物理位置為 $PGDATA/base目錄。
在PostgreSQL(pg_catalog)下可以看到postgers資料庫的一些數據字典和數據字典視圖。

新建一個伺服器連接,連接遠程linux伺服器上的PostgreSQL資料庫(假設已有遠程linux上已安裝好PostgreSQL資料庫管理系統):

得到資料庫屬性如下圖所示:

圖中可以看出,該遠程資料庫管理系統上建有兩個資料庫:postgres、cpost;四個表空間:pg_default、pg_global、pis_data、pis_index。

三、pgsql
對於每種資料庫管理系統,都會提供一個命令行管理介面,例如Oracle的sqlplus,SQL Server的isql和osql等。
凡是用圖形管理界面可以實現的功能原則上都可以通過命令行界面命令實現。兩者各有優缺點,使用場合不同。在windows下當然常用圖形管理界面,因為在圖像管理界面中往往都嵌有命令行工具,而在unix和linux下,當然就常用命令行工具了,除了我們在類unix下主要使用字元界面的原因外,還因為大部分情況下我們只能通過telnet或ssh工具遠程連接伺服器進行操作,此時也只能使用命令行了。
從開始目錄打開SQL shell(pgsql),該可執行程序為E:\PostgreSQL\bin\psql.exe。輸入密碼得到如下圖界面:

也可以在修改了系統環境變數Path之後(增加PostgreSQL\bin目錄),從命令行直接啟動pgsql。

至此,PostgreSQL在Windows下安裝完畢。

❹ 如何安裝PostgreSQL 9.2.4 For Windows

具體過程如下:
步驟1:安裝postgreSQL 9.2.4
具體過程參見:如何安裝PostgreSQL 9.2.4 For Windows?

步驟2:配置鑒權口令文件
pg_upgrade會在升級過程中多次連接新舊資料庫,所以可以在pg_hba.conf中將鑒權方式設為"Trust"或者在使用MD5鑒權方式下配置pgpass.conf文件(文件位置:%APPDATA%\postgresql\pgpass.conf)。這樣可以避免在升級過程中提示鑒權失敗而導致升級不能正常進行。待升級成功後可以移除或清空文件內容。

步驟3:安裝插件
將舊資料庫伺服器中使用的插件同樣安裝至新資料庫伺服器中。

步驟4:停止新舊資料庫服務
通過命令行或服務管理界面進行

出現問題:

原因:未使用管理員許可權運行命令提示符(CMD)

步驟5:用非windows系統管理員許可權用戶做升級前准備
RUNAS /USER:postgres "CMD.EXE"
SET PATH=D:\Program Files\PostgreSQL\9.2\bin;%PATH%;

步驟6:進入postgres用戶目錄,執行pg_upgrade(如果環境變數設置正確,會使用新版本下的pg_upgrade),會有升級相應的日誌文件生成於此
命令格式:pg_upgrade -b oldbindir -B newbindir -d olddatadir -D newdatadir [option...]
其中會使用 - r 參數:作用是在系統升級成功後仍然保留日誌文件。

如果升級過程中出現問題,可以通過windos事件檢查器及相應升級日誌文件進行分析。
pg_upgrade_internal.log
pg_upgrade_restore.log
pg_upgrade_server.log
pg_upgrade_server_start.log
pg_upgrade_utility.log

出現問題:
(1) 沒有配置pgpass.conf或pg_hba.conf,檢查日誌文件有如下錯誤信息
could not connect to old postmaster started with the command:
"D:/Program Files (x86)/PostgreSQL/9.1/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "D:/Users/lv/Data/PostgreSQL/9.1" -o "-p 50432 -b " start
cannot write to log file pg_upgrade_server.log

(2) PATH環境變數配置錯誤引起的失敗
手冊上的示例為:SET PATH=%PATH%;C:\Program Files\PostgreSQL\9.0\bin; 這樣舊資料庫伺服器環境變數將會使其路徑優先被搜索到,導致提示該版本下的pg_upgrade不支持升級到新資料庫版本。

(3) 失敗後根據提示重新用initdb生成資料庫時未創建用戶postgres

(4) 創建用戶時未創建口令,檢查pg_upgrade_internal.log,有如下錯誤信息
connection to database failed: fe_sendauth: no password supplied

(5) 升級進程未結束再次運行pg_upgrade不成功
可以在進程管理中停止所有postgresql進程,然後重新進行升級

(6) 升級成功後,日誌文件被自動刪除,可以在命令行中用-r參數指定保留。

步驟7:恢復對配置文件(pg_hba.conf,postgresql.conf)進行的修改
主要是將鑒權方式修改回比較安全的模式

步驟8:升級後處理
升級完成後,pg_upgrade會提示需要運行腳本或批處理文件檢查新資料庫伺服器及刪除舊資料庫伺服器數據。

❺ 虛擬機中如何安裝PostgreSQL資料庫

配置PostgreSQL對應的yum源

使用命令:dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm,獲取yum配置文件。

到這里就安裝完成了。

熱點內容
華為路由器搭建pptp伺服器 發布:2024-06-15 00:15:47 瀏覽:740
解壓拓展有哪些 發布:2024-06-15 00:00:12 瀏覽:315
edm源碼 發布:2024-06-15 00:00:11 瀏覽:485
模擬退火演算法流程圖 發布:2024-06-14 23:59:18 瀏覽:339
電腦上的開機密碼在哪裡改的 發布:2024-06-14 23:54:06 瀏覽:885
cf手游刷級腳本 發布:2024-06-14 23:26:40 瀏覽:923
android顏色識別 發布:2024-06-14 23:20:44 瀏覽:692
osg編譯max 發布:2024-06-14 23:11:00 瀏覽:938
15個鏡頭的腳本 發布:2024-06-14 22:38:08 瀏覽:510
如何打開伺服器的防火牆 發布:2024-06-14 22:36:36 瀏覽:812