源码安装PostgreSQL

  • 本文使用的Linux发行版本为AlmaLinux 9.2 64位(CentOS停止更新后的完美替代发行版本)。
  • 本文安装的PostgreSQL版本为16.1,其他版本方法类似。

准备工作

  1. 更新系统。
    dnf -y update
    
  2. 安装依赖。
    dnf -y group install "Development tools"
    dnf -y install readline-devel libicu libicu-devel
    
  3. 创建postgres用户。
    groupadd postgres
    useradd -g postgres postgres
    
  4. 创建安装目录并授权。
    mkdir -p /usr/local/postgres16.1
    chown -R postgres:postgres /usr/local/postgres16.1
    
  5. 切换postgres用户,并进入用户目录。
    su postgres
    cd ~
    
  6. 修改环境变量配置。
    1. 编辑.bash_profile文件。
      vim .bash_profile
      
    2. i# User specific environment and startup programs后添加如下内容。
      export PG_HOME=/usr/local/postgres16.1
      export PATH=$PG_HOME/bin:$PATH
      export PGDATA=$PG_HOME/data
      
    3. Ecs输入:wq!保存并退出。
    4. 使环境变量生效。
      source .bash_profile
      

源码安装PostgreSQL

  1. 获取源码链接。
    1. 进入PostgreSQL官网,单击Download
    2. 找到目标版本的源码包,右键复制链接。
      image
  2. 下载。
    wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.gz
    
  3. 解压。
    tar -zxvf postgresql-16.1.tar.gz
    
  4. 编译安装。
    cd postgresql-16.1
    ./configure --prefix=$PG_HOME
    make
    make install
    
  5. 查看版本验证。
    psql --version
    
  6. 初始化。
    initdb -D $PGDATA
    
  7. 启动。
    pg_ctl start
    
  8. 进入数据库。
    psql
    
  9. 输入\password为postgres管理员用户初始化密码。(需要输入两次)
  10. 输入\q退出数据库。

开放外部访问

  1. 停止服务。
    pg_ctl stop
    
  2. 修改postgresql.conf配置文件。
    1. 编辑postgresql.conf配置文件。
      vim $PGDATA/postgresql.conf
      
    2. i修改如下内容,放开注释。
      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)
      
      

      如果你的PostgreSQL部署在云服务器上,还需要在云服务器上对外开启5432端口。

    3. 输入:wq!保存并退出。
  3. 修改pg_hba.conf配置文件。
    1. 编辑pg_hba.conf配置文件。
      vim $PGDATA/pg_hba.conf
      
    2. 找到# IPv4 local connections:区域,在该区域下按i编辑,将原有默认本地连接的配置修改为如下内容。
      host    all             all             0.0.0.0/0            md5
      
    3. 输入:wq!保存并退出。
  4. 启动服务。
    pg_ctl start
    
  5. 现在就可以从外部访问PostgreSQL数据库了。
    psql -h <服务器IP> -P 5432 -U postgres -d postgres
    
posted @ 2023-11-17 15:22  月下瓜田の一只猹  阅读(149)  评论(0编辑  收藏  举报