Linux7.8环境下的源码安装部署PG14.8

来源:这里教程网 时间:2026-03-14 21:07:18 作者:

1.建立目录    # mkdir -p /data/pgsql    # mkdir -p / data/pgsql/data 2.安装依赖包    # yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel  python36-devel gcc-c++ openssl-devel cmake make 3.下载安装介质 postgresql.org/ftp/source/v14.8/   上传到 /data 5. 创建postgresql用户     # useradd postgres 6.设置数据目录     # chown postgres:postgres -R   /data/pgsql 7 .设置postgres用户环境变量     # su - postgres     $ vi .bash_profile     export PATH     export PGHOME=/data/pgsql     export PGDATA=/data/pgsql/data     xport GG_HOME=/data/ogg     export PATH=$PGHOME/bin:$PATH:$GG_HOME/bin 8.解压 安装源包      cd /data     tar -xvf postgresql-14.8.tar.gz 9 .安装配置   cd /data/postgresql-14.8    ./configure --prefix=/ data/pgsql --with-wal-blocksize=8 --with-segsize=1 --with-blocksize=8 10.编译  安装     $ make     make install 11 .安装扩展     export PATH= /data/pgsql/bin:$PATH     cd /data/postgresql-14.8/contrib     make all     make install 12. 初始化数据库 postgres@pgdb bin]$ ./initdb  -D /data/pgsql/data/ 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 "zh_CN.UTF-8". The default database encoding has accordingly been set to "UTF8". initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8" The default text search configuration will be set to "simple". Data page checksums are disabled. fixing permissions on existing directory /data/pgsql/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 ... PRC 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/pgsql/data/ -l logfile start

13. 修改参数

pg_hba.conf 

host      all           all              0.0.0.0/0              trustlisten_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 = 100                   # (change requires restart)#superuser_reserved_connections = 3     # (change requires restart)#unix_socket_directories = '/tmp'       # comma-separated list of directoriesunix_socket_directories = '/data/pgsql/run'                                        # (change requires restart)#unix_socket_group = ''                 # (change requires restart)#unix_socket_permissions = 0777         # begin with 0 to use octal notation                                        # (change requires restart) 附: 自动启动脚本 1. [root@pgdb system]# cat /etc/systemd/system/postgresql.service  [Unit] Description=PostgreSQL Database Server After=network.target [Service] Type=forking User=postgres Group=postgres Environment=PGPORT=5432 Environment=PGDATA=/data/pgsql/data 1OOMScoreAdjust=-1000 # 启动命令 ExecStart=/data/pgsql/bin/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300 # 重新加载 ExecReload=/data/pgsql/bin/pg_ctl reload -D ${PGDATA} -s # 停止程序 ExecStop=/data/pgsql/bin/pg_ctl  stop -D ${PGDATA} -s -m fast KillMode=mixed KillSignal=SIGINT TimeoutSec=0 PrivateTmp=true [Install] WantedBy=multi-user.target  2.重载systemctl服务 @pgdb ~]$systemctl daemon-reload  3. 启动postgresql服务 @pgdb ~]$ sudo systemctl start postgresql.service 4.判断服务是否启动,这里提示成功启动 @pgdb ~]$ systemctl is-active postgresql.service  active 5. 也可以通过此命令判断服务状态 @pgdb ~]$  systemctl status postgresql.service 6. 停止postgresql服务 pgdbt ~]$  systemctl stop postgresql.service 7. 如果启动配置失败,也可以通过journalctl命令查看日志查找原因 pgdb ~]$ journalctl -u postgresql.service  设置开机自启动

相关推荐