postgresql 11安裝


一,安裝

  • 1,創建用戶
    groupadd postgres
    useradd -g postgres postgres
    mkdir /data/postgres

  • 2,下載並安裝
    cd /data/tools/
    wget http://ftp.postgresql.org/pub/source/v11.0/postgresql-11.0.tar.gz
    tar xf postgresql-11.0.tar.gz
    cd postgresql-11.0/
    ./configure --prefix=/data/postgres --without-readline
    如不指定安裝目錄,則默認會安裝在/usr/local/下。
    如果編譯出錯,根據提示信息yum安裝對應的包即可。
    不報錯繼續即可
    也可通過./configure --help可以看到編譯相關的幫助信息
    make
    make過程比較耗時
    打印如下信息即可
    All of PostgreSQL successfully made. Ready to install.
    make install
    成功后會打印如下信息:
    PostgreSQL installation complete.

  • 3,查看目錄結構
    cd /data/postgres/
    [root@master1 postgres]# ll
    總用量 16
    drwxr-xr-x 2 root root 4096 6月 28 15:59 bin
    drwxr-xr-x 6 root root 4096 6月 28 15:59 include
    drwxr-xr-x 4 root root 4096 6月 28 15:59 lib
    drwxr-xr-x 6 root root 4096 6月 28 15:59 share

  • 4,配置環境變量及目錄權限
    vim /etc/profile
    export PGHOME=/data/postgres
    export PGDATA=/data/postgres/data
    export PGLIB=/data/postgres/lib
    export PATH=$PGHOME/bin:$PATH

source /etc/profile

mkdir /data/postgres/data
mkdir /data/postgres/logs
chown -R postgres:postgres ../postgres

  • 5,切換用戶初始化數據庫,再啟動數據庫
    su postgres
    initdb -D /data/postgres/data/

打印以下信息即可
Success. You can now start the database server using:

pg_ctl -D /data/postgres/data/ -l logfile start

啟動數據庫
pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile start

waiting for server to start.... done
server started
啟動成功
可以查看啟動日志 cat logs/logfile
此時可查看data目錄,已經生成相應的配置文件及目錄。

二,配置

  • 1,修改用戶密碼
    初始化完成后是沒有密碼的,可直接連接
    su postgres 或 psql -U postgres
    psql

psql (11.0)
Type "help" for help.

postgres=#

修改密碼
postgres=# alter user postgres with password 'postgres@123'
postgres-#

\q 退出
用戶名密碼方式登錄
psql -U postgres -W

  • 2,修改默認配置文件
    cd /data/postgres/data
    初始化后基本是默認配置文件,可以自行修改
    vim postgresql.conf

配置文件中,默認只能本機訪問postgresql;
修改listen_addresses = 'localhost'為listen_addresses = '*',允許所有遠程訪問;
修改配置文件需要重啟服務。

默認監聽地址
!#listen_addresses = 'localhost'
listen_addresses = '
'
!#默認監聽端口
!#port = 5432
!#最大連接數,默認100
max_connections = 100
...

其他可參考中文社區

  • 3,主機認證
    修改pg_hba.conf文件需要重啟服務
    vim pg_hba.conf
    !#在第82行之后,”IPv4 local connections”下新增允許的客戶端;
    !#“host” 代表主機類型,第一個“all”代表db ,第二個“all”代表user ,“172.29.3.67/32” 代表client ip,“trust”代表認證方式;
    !#認證方式除“trust”外,還有“peer”, “ident”, “md5”, “password”等

85 # IPv4 local connections:
86 host all all 127.0.0.1/32 trust
87 host all all 172.16.200.162/32 trust

  • 4,相關命令
    !#查看狀態
    pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile status
    !#停止服務
    pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile stop
    啟動服務
    pg_ctl -D /data/postgres/data/ -l /data/postgres/logs/logfile start

  • 5,測試
    可以用pgadmin連接postgresql
    pgadmin下載地址:https://www.pgadmin.org/download/

三,使用

  • 1,簡單命令
    創建用戶
    postgres=# create user postuser1 with password 'user1@123';
    創建數據庫
    同時指定數據庫的所有者
    postgres=# create database postdb1 owner postuser1;

數據庫賦權
未賦權則賬戶只能登錄控制台
postgres=# grant all privileges on database postdb1 to postuser1;

登錄數據庫
在操作系統層使用新建的賬號登錄新建的數據庫,登錄后提示符為“postdb1=>”;
如果在postgres賬戶下直接使用“postgres=# \c postdb1;”登錄,則登錄用戶依然是postgres,
-bash-4.2$ psql -U postuser1 -d postdb1 -h 127.0.0.1 -p 5432

創建表

postdb1=> create table tb1(
id int primary key,
name VARCHAR(20),
salary real
);

插入表

postdb1=> insert into tb1(
id, name, salary)
values(
101, 'Mike', 5000.00
);

查詢

postdb1=>select * from tb1;

  • 2,基礎備份
    pg_basebackup -h 10.11.4.186 -p 5432 -U repl -F p -P -D /var/lib/pgsql/9.6/data/

-h,主庫主機,-p,主庫服務端口;
-U,復制用戶;
-F,p是默認輸出格式,輸出數據目錄和表空間相同的布局,t表示tar格式輸出;
-P,同--progress,顯示進度;
-D,輸出到指定目錄;
因為主庫采用的是md5認證,這里需要密碼認證。

中文社區
官網地址
yum方式安裝參考
主從復制參考博客
參考博客1
參考博客2


免責聲明!

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



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