postgresql 12.5軟體原始碼安裝
接下來介紹如何原始碼安裝postgresql12.5,需要提前準備一臺centos7 4C,8G主機來做這個實驗。
一、環境準備
1.1、OS引數最佳化
1.1.1 關閉操作透明大頁
# 透過引數關閉大頁 echo never > /sys/kernel/mm/transparent_hugepage/enabled echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local # 驗證是否關閉了透明大頁 grep HugePages_Total /proc/meminfo cat /proc/sys/vm/nr_hugepages |
1.1.2 核心引數調優
修改核心引數誰的/etc/sysctl.conf ,增加以下內容後,執行 sudo sysctl -p 生效。
vm.dirty_expire_centisecs=3000 net.ipv4.tcp_synack_retries=2 net.core.rmem_default=262144 vm.dirty_background_bytes=409600000 net.core.wmem_default=262144 vm.mmap_min_addr=65536 vm.overcommit_ratio=90 kernel.shmmni=819200 net.core.rmem_max=4194304 vm.dirty_writeback_centisecs=100 fs.file-max=76724600 net.core.somaxconn=4096 fs.aio-max-nr=1048576 net.ipv4.tcp_max_tw_buckets=262144 vm.swappiness=0 fs.nr_open=20480000 net.ipv4.tcp_fin_timeout=5 net.ipv4.ip_local_port_range=40000 65535 net.ipv4.tcp_keepalive_probes=3 net.ipv4.tcp_mem=8388608 12582912 16777216 kernel.shmmax = 329853488332 kernel.shmall=80530636 kernel.shmmni = 4096 kernel.msgmax = 65536 kernel.msgmni = 2005 kernel.msgmnb = 65536 kernel.sem=4096 2147483647 2147483646 512000 net.ipv4.tcp_keepalive_intvl=20 net.ipv4.tcp_keepalive_time=60 vm.overcommit_memory=0 net.ipv4.tcp_syncookies=1 net.ipv4.tcp_max_syn_backlog=4096 net.ipv4.tcp_timestamps=1 net.ipv4.tcp_rmem=8192 87380 16777216 net.ipv4.tcp_wmem=8192 65536 16777216 net.core.wmem_max=4194304 vm.dirty_ratio=80 net.core.netdev_max_backlog=10000 vm.zone_reclaim_mode=0 net.ipv4.tcp_tw_reuse=1 vm.nr_hugepages=192000 vm.nr_overcommit_hugepages=1000000 vm.overcommit_memory = 2 |
建立 /etc/security/limits.d/limits.conf ,內容如下:
* soft nofile 655360 * hard nofile 655360 * soft nproc 655360 * hard nproc 655360 * soft memlock unlimited * hard memlock unlimited * soft core unlimited * hard core unlimited |
1.1.3 關閉防火牆服務和selinux
-- 關閉防火牆 systemctl stop firewalld systemctl disable firewalld -- 關閉 selinux vi /etc/selinux/config SELINUX=disabled -- 修改為disabled |
1.2 postgres使用者建立
groupadd postgres;useradd -g postgres postgres echo " postgres23" | passwd postgres--stdin |
1.3 postgresql軟體包下載
postgresql官網下載12.5軟體包 ,下載連結如下
二、Postgresql安裝
2.1 PG編譯安裝
解壓軟體包 tar xvf postgresql-12.5.tar.gz -C /data/ 編譯 pg 軟體 mkdir -p /data/postgresql12.5/ cd /data/postgresql-12.5/ ./configure –prefix=/data/postgresql12.5/ make && make install 安裝後,可執行檔案,庫檔案等都會安裝在 /data/postgresql12.5/ 中。 [postgres@localhost pg1205]$ ls bin data include lib share |
2.2 配置環境變數
將以下幾行變數新增至postgres 使用者的下的環境變數檔案 .bash_profile中 ,並執行命令source .bash_profile生效。
export.utf8 export PGHOME=/data/postgresql12.5/ export PGDATA=$PGHOME/data/ export PGPORT=5432 export LD_LBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH export PATH=$PGHOME/bin:$PATH |
2.3 初始化資料庫
以下操作都是在postgres使用者下進行
建立資料庫儲存目錄
m kdir $PGDATA |
Postgresql 資料庫的配置檔案,資料檔案等都會存放在這個路徑下。
初始化資料庫
i nitdb –locale=C -E UNICODE -D $PGDATA
如下示例說明資料庫建立成功 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 "C". The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /data/postgresql12.5/data ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... posix selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default time zone ... America/New_York creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok syncing data to disk ... ok
initdb: 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:
pg_ctl -D /data/postgresql12.5/data/ -l logfile start |
2.4 修改配置檔案
這裡主要修改如下兩個配置檔案
l postgresql.conf 針對例項的配置
l pg_hba.conf 針對資料庫訪問的控制
postgresql.conf配置檔案修改成如下
listen_ addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all # (change requires restart) port = 5432 # (change requires restart) max_connections = 1000 # (change requires restart) |
pg_hba.conf配置檔案新增如下行
host all all 0.0.0.0/0 md5 |
以上配置已經完成
2.5 啟動資料庫
手動啟動資料庫使用如下命令
p g_ctl -D $PGDATA stop # 停止 pg 命令 pg_ctl -D $PGDATA start # 啟動 pg 命令 |
如下是啟停PG示例
[postgre s@zabbix data]$ pg_ctl -D $PGDATA -l logfile start waiting for server to start.... done server started [postgres@ zabbix data]$ pg_ctl -D $PGDATA stop waiting for server to shut down.... done server stopped |
2.6 配置服務開機自啟動
此步驟需要root使用者操作。 postgresql 的安裝包中提供了資料庫啟動與關閉的指令碼,可以幫助我們簡化操作,也可以 用作開機啟動的指令碼和service/systemctl 控制服務的指令碼。 指令碼位於:
/data/postgresql-12.5/contrib/start-scripts
設定開機啟動
c p /data/postgresql-12.5/contrib/start-scripts/linux /etc/init.d/postgresql chkconfig –add postgresql chmod 755 /etc/init.d/postgresql |
然後調整/etc/init.d/postgresql指令碼如下內容
prefix= /data/postgresql12.5 # 軟體的安裝路徑 PGDATA="/data/postgresql12.5/data" # 資料存放路徑 PGUSER=postgres # 啟動 postgresql 服務的使用者 |
透過service 命令控制啟動和關閉
s ervice postgresql stop service postgresql start |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28833846/viewspace-2737480/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 原始碼安裝postgresql原始碼SQL
- PostgreSQL-原始碼安裝(一)SQL原始碼
- openeuler原始碼安裝Postgresql 16原始碼SQL
- 原始碼安裝NTOP監控軟體原始碼
- PostgreSQL 10.12 安裝系列 - 原始碼安裝SQL原始碼
- Linux下PostgreSQL原始碼安裝LinuxSQL原始碼
- 【Linux】Linux軟體安裝管理3 編譯安裝原始碼軟體Linux編譯原始碼
- 【PG安裝】postgresql10 for linux 原始碼安裝SQLLinux原始碼
- 如何編譯安裝原始碼包軟體編譯原始碼
- postgresql原始碼安裝man的內容SQL原始碼
- postgresql原始碼安裝contribSQL原始碼
- Linux精講——軟體安裝yum、rpm、原始碼安裝Linux原始碼
- PostgreSQL技術大講堂 - Part 2:PostgreSQL原始碼安裝SQL原始碼
- PostgreSQL原始碼學習 win10原始碼編譯安裝SQL原始碼Win10編譯
- POSTGRESQL10.8原始碼安裝主從搭建SQL原始碼
- POSTGRESQL10.3原始碼安裝主從搭建SQL原始碼
- Linux-軟體包管理-RPM安裝位置\原始碼包安裝位置Linux原始碼
- PostgreSQL 13 原始碼安裝(#1.1)-202103SQL原始碼
- 軟體安裝程式第二篇(載入程式原始碼)原始碼
- Sybase12.5安裝記錄
- 原始碼掃描裝置/軟體列表原始碼
- centos7.3原始碼安裝常用軟體及相關配置合集CentOS原始碼
- 軟體安裝
- CentOS 7.4 環境下原始碼編譯安裝 postgreSQL 11.4CentOS原始碼編譯SQL
- 龍芯麒麟原始碼編譯MySQL生成軟體包進行安裝原始碼編譯MySql
- 【Solaris】Solaris10作業系統 原始碼安裝apache軟體包作業系統原始碼Apache
- LAMP原始碼安裝+wordpress安裝LAMP原始碼
- 在Oracle Linux 7.1中使用原始碼來安裝PostgreSQL 9.6OracleLinux原始碼SQL
- docker安裝軟體Docker
- ubuntu 軟體安裝Ubuntu
- AIX 軟體安裝AI
- Ubuntu軟體安裝Ubuntu
- 『學了就忘』Linux軟體包管理 — 47、Linux原始碼包的安裝和解除安裝Linux原始碼
- nginx原始碼安裝Nginx原始碼
- 原始碼安裝openresty原始碼REST
- 原始碼安裝GO原始碼Go
- Nginx 原始碼安裝Nginx原始碼
- mysql原始碼安裝MySql原始碼