centos7下安裝postgresql-10.3


centos7下安裝pgsql10.3

前言

在centos7上面安裝pgsql-10.3,在網上找了很多的文章,試了好久才成功.那就總結下,安裝的過程吧,避免下次浪費時間.

下載pgsql-10.3

系統版本centos7

下載pgsql-10.3:https://www.postgresql.org/ftp/source/v10.3/

上傳tar包到服務器

$ scp postgresql-10.3.tar.gz root@192.168.56.189:~
The authenticity of host '192.168.56.189 (192.168.56.189)' can't be established.
ECDSA key fingerprint is SHA256:q2lore2LaeBsH4j3jmEVg0VYbfudDDR4LkmF/rt+Zp0.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/home/liz/.ssh/known_hosts).
root@192.168.56.189's password: 
postgresql-10.3.tar.gz                                                     100%   25MB  37.5MB/s   00:00  

安裝

解壓

# tar -xzvf postgresql-10.3.tar.gz

安裝基本的工具

yum install -y vim lrzsz tree wget gcc gcc-c++ readline-devel zlib-devel

編譯

進入到剛剛解壓的文件夾,執行命令

./configure --prefix=/usr/local/pgsql

后面的/usr/local/pgsql表示的是要編譯安裝的具體位置,可以自己定義

安裝

make && make install

然后等待安裝........

直到出現PostgreSQL installation complete.表示安裝成功了

創建目錄 data、log

# mkdir /usr/local/pgsql/data
# mkdir /usr/local/pgsql/log

加入系統環境變量

 vim /etc/profile

在最后寫入

PGHOME=/usr/local/pgsql
export PGHOME
PGDATA=/usr/local/pgsql/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin

注意:/usr/local/pgsql需要修改為自己的安裝目錄

使配置文件生效

# source /etc/profile

增加用戶 postgres 並賦權

# adduser postgres
# chown -R postgres:root /usr/local/pgsql/

修改密碼(在root)

# passwd postgres 
更改用戶 postgres 的密碼 。
新的 密碼:
無效的密碼: 密碼未通過字典檢查 - 過於簡單化/系統化
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。

初始化數據庫

注意:需要在postgres用戶下初始化

切換用戶 postgres

# su postgres

然后初始化數據庫

# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

編輯配置文件

# vim /usr/local/ppgsql/data/postgresql.conf

修改

listen_addresses = '*'
port = 5432

同樣修改

# vim /usr/local/pgsql/data/pg_hba.conf

在最后面添加

說明:

TYPE:pg的連接方式,local:本地unix套接字,host:tcp/ip連接
DATABASE:指定數據庫
USER:指定數據庫用戶
ADDRESS:ip地址,可以定義某台主機或某個網段,32代表檢查整個ip地址,相當於固定的ip,24代表只檢查前三位,最后一 位是0~255之間的任何一個
METHOD:認證方式,常用的有ident,md5,password,trust,reject。
md5是常用的密碼認證方式。
password是以明文密碼傳送給數據庫,建議不要在生產環境中使用。
trust是只要知道數據庫用戶名就能登錄,建議不要在生產環境中使用。
reject是拒絕認證。

啟動服務

$ pg_ctl start -l /usr/local/pgsql/log/pg_server.log
could not change directory to "/root/postgresql-10.3": 權限不夠
waiting for server to start.... done
server started

啟動,停止,重啟

$ pg_ctl start\stop\restart -D /usr/local/pgsql/log/pg_server.log

需要切換用戶 postgres,使用root用戶 su postgres切換到postgres用戶時,執行上面的啟動命令會提示權限不夠,使用下面的這個命令,就可以了

# su - postgres

查看版本

# psql -V
psql (PostgreSQL) 10.3

設置開機啟動

將pgsql安裝包中的linux文件復制到/etc/init.d或者/etc/rc.d

[root@10 postgresql-10.3]# cp contrib/start-scripts/linux /etc/init.d/pgsql

根據安裝路徑修改pgsql文件中的配置項

## EDIT FROM HERE

# Installation prefix (安裝路徑)
prefix=/usr/local/pgsql

# Data directory (data路徑)
PGDATA="/usr/local/pgsql/data"

修改pgsql文件權限

# chmod +x /etc/init.d/pgsql

開機執行pgsql文件

# chkconfig --add pgsql

關掉防火牆

$ systemctl stop firewalld
$ systemctl disable firewalld


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM