PostgreSQL數據庫安裝Version10.5

PostgreSQL數據庫安裝,基於版本10.5安裝,
在Linux系統上使用*.gz二進制壓縮包手動安裝。
操作系統:Red Hat Enterprise Linux Server release 6.5 (Santiago)
安裝包: postgresql-10.5-1-linux-x64-binaries.tar.gz

1.說明

網上有很多在線安裝PostgreSQL的文章,
在線安裝使用yum或者apt-get非常簡單,
可以參考如下文章:
第 4 課 PostgreSQL 安裝最新的版本
postgreSQL安裝與使用
本文使用PostgreSQL的二進制壓縮包離線安裝,
安裝步驟其實也非常簡單,而且卸載也很方便。

2.創建postgres用戶

登陸到root用戶創建新用戶postgres。

2.1.新增hadoop用戶組

groupadd hadoop

2.2.新增postgres用戶

useradd -g hadoop -s /bin/bash -md /home/postgres postgres

2.3.修改postgres用戶密碼

passwd postgres

2.4.驗證新增的用戶

ssh [email protected]
使用步驟2.3中設置的密碼登陸,
注意後續的所有操作都在該用戶下執行,
而不是root用戶。

3.下載安裝包

可以從如下地址下載需要的安裝包,
按照自己的操作系統和版本要求選擇下載。
PostgreSQL官網下載
PostgreSQL Download
PostgreSQL中文社區下載

4.上傳並解壓安裝包

上傳安裝包到postgres的家目錄:
/home/postgres/postgresql-10.5-1-linux-x64-binaries.tar.gz
解壓安裝包:
tar -zxvf postgresql-10.5-1-linux-x64-binaries.tar.gz

5.創建數據和日誌目錄

進入安裝包解壓後的目錄:
cd /home/postgres/pgsql
創建數據data目錄:
mkdir data
創建日誌log目錄:
mkdir log

6.設置環境變量

vim .bashrc

export PGHOME=/home/postgres/pgsql
export PGDATA=$PGHOME/data 
export PGLOG=$PGHOME/log 
export PATH=$PGHOME/bin:$PATH 
export MANPATH=$PGHOME/share/man:$MANPATH 
export LANG=en_US.utf8 
export DATE=`date +"%Y-%m-%d %H:%M:%S"` 
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH 

刷新環境變量:
source .bashrc

7.初始化數據庫

bin/initdb -D $PGDATA

8.修改配置文件

8.1.修改PostgresSQL數據庫配置

vim $PGDATA/postgresql.conf
修改爲如下:

listen_addresses = '*'
port = 5432

說明:PostgreSQL安裝完成後,默認是隻接受來自本機localhost的連接請求,
listen_addresses設置爲*來允許數據庫服務器監聽來自任何主機的連接請求,
並且對外提供的服務端口是5432(默認端口)。

8.2.設置遠程連接

修改服務端對客戶端的認證配置文件pg_hba.conf,
將需要訪問數據庫的遠程IP地址或地址範圍加入該文件:
vim $PGDATA/pg_hba.conf
在文件最下方添加如下配置:

host all all 0.0.0.0/0 trust

說明:上面的配置允許任意IP和用戶訪問該數據庫,
建議僅用作測試時使用,在公網需要考慮安全問題。

9.啓動數據庫

pg_ctl -D $PGDATA -l $PGLOG/logfile start

注意必須使用postgres用戶啓動,
因爲PostgresSQL不能以root身份運行,
要以其他用戶身份運行。

停止數據庫:

pg_ctl -D $PGDATA stop 

查看數據庫狀態:

pg_ctl status

10.測試數據庫

登陸PostgresSQL命令行:
psql
創建測試數據庫:
create database test;
查看數據庫列表:
\l
切換到test數據庫:
\c test
退出命令行:
\q
設置用戶密碼:
alter user postgres with password 'zdh1234'
使用指定用戶和端口登陸:
psql -U postgres -W -p 5432

11.圖形化界面登陸數據庫

使用PostgresSQL自帶的pgAdmin進行遠程連接。
可以打開pgAdmin4的圖形化界面。

登陸Linux服務器後執行如下腳本:
/home/postgres/pgsql/pgAdmin 4/bin/pgAdmin4
具體方法請參考:
MobaXterm遠程連接Linux圖形用戶界面
Xstart遠程連接Linux圖形用戶界面

腳本執行成功後,會打開遠程的firefox瀏覽器,
選擇創建服務器,填寫服務器信息:


然後就能夠看到如下數據庫信息:


12.參考文章

Linux系統二進制安裝PostgreSQL
PostgreSQL 二進制安裝步驟

13.日誌

13.1.初始化數據庫日誌

The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /home/postgres/pgsql/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.

Success. You can now start the database server using:

    bin/pg_ctl -D /home/postgres/pgsql/data -l logfile start

13.2.logfile啓動日誌

2019-01-29 15:27:44.809 CST [13987] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2019-01-29 15:27:44.809 CST [13987] LOG:  listening on IPv6 address "::", port 5432
2019-01-29 15:27:44.811 CST [13987] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2019-01-29 15:27:44.827 CST [13988] LOG:  database system was shut down at 2019-01-29 15:27:07 CST
2019-01-29 15:27:44.845 CST [13987] LOG:  database system is ready to accept connections

14.其他

14.1.設置特定IP遠程連接

如果出於安全考慮,可以配置爲具體的IP,
修改pg_hba.conf文件示例如下:

host all  all       127.0.0.1/32    trust
host all  username  192.168.1.0/24  md5

其中數字24是子網掩碼,
表示允許192.168.1.0-192.168.1.255的IP訪問,
允許通過username用戶,md5使用密碼訪問。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章