1. 程式人生 > 實用技巧 >Linux安裝postgresql資料庫

Linux安裝postgresql資料庫

PostgreSQL是一種特性非常齊全的自由軟體的物件-關係型資料庫管理系統(ORDBMS),穩定性比MySQL要強,高併發情況下讀寫效能好

環境準備:系統CentOS Linux release 7.5.1804 (Core)

官網地址:https://www.postgresql.org/

安裝包準備:wgethttps://ftp.postgresql.org/pub/source/v12.4/postgresql-12.4.tar.gz

1、解壓原始碼安裝包

[root@lb ~]# tar xf postgresql-12.4.tar.gz -C /usr/local/
[root@lb ~]# useradd postgres
[root@lb 
~]# echo "123123" |passwd --stdin postgres [root@lb ~]# ln -s /usr/local/postgresql-12.4/ /usr/local/pgsql/

2、編譯安裝

[root@lb pgsql]# mkdir pgsql/data
[root@lb pgsql]# chown -R postgres.postgres /usr/local/pgsql/
[root@lb ~]# cd /usr/local/pgsql/
[root@lb ~]# ./configure
[root@lb ~]# make && make install

3、初始化資料庫

[root@lb pgsql]# su - postgres
[postgres@lb ~]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/  

4、啟動資料庫

[postgres@lb ~]$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l logfile start
停止資料庫
[postgres@lb ~]$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ stop
重啟資料庫
[postgres@lb ~]$ /usr/local/pgsql/bin/pg_ctl restart -D /usr/local/pgsql/data/ -m fast

這裡-l指定日誌檔案位置,這裡直接輸出在家目錄下的logfile中,可以自己指定,-D指定資料目錄,預設如果不加資料目錄直接報錯找不到

5、環境變數修改

[postgres@lb ~]$ vi ~/.bash_profile
增加
export PGHOME=/usr/local/pgsql
export PGDATA=/usr/local/pgsql/data
PATH=$PATH:$HOME/bin:$PGHOME/bin

[postgres@lb ~]$ source ~/.bash_profile

6、配置檔案修改

[postgres@lb ~]$ cd /usr/local/pgsql/data
[postgres@lb data]$ cp postgresql.conf{,.bak}
[postgres@lb data]$ vim postgresql.conf
修改 listen_addresses    預設localhost
        max_connections    連線數 預設100
#######
其他相關記憶體引數優化這裡不做過多配置

新增IP網段授權/usr/local/pgsql/data/pg_hba.conf

[postgres@lb data]$ vim pg_hba.conf
...
host    all             all             192.168.53.0/24         trust    指定網段可連線
host    all             all             0.0.0.0/0               trust    所有網段可連線

7、命令介面簡單操作

  通過psql命令互動式連線

[postgres@lb data]$ psql -h 127.0.0.1 -U postgres -p 5432

## -d指定連線之後選中的資料庫,預設是postgres

命令提示符前面為當前資料庫,使用 \l (反斜槓+l)檢視當前資料庫列表

預設postgres,template0和1這3個庫不允許操作

建立新的資料庫執行:CREATE DATABASE test WITH OWNER=postgres ENCODING='UTF-8';

\c test 切換當前資料庫為test,\d檢視當前資料庫下所有表

建立表 create table 表名(欄位 屬性(),.....) \d 表名 查看錶結構詳細資訊

\q  退出互動介面