Linux下PostgreSQL-12.0安装部署详细步骤

news/2025/1/23 1:34:50/
一、安装环境
  • postgresql-12.0

  • CentOS-7.6

  • 注意:确认linux系统可以正常连接网络,因为在后面需要添加依赖包。

  • 二、pg数据库安装包下载

    下载地址:postgresql.org/ftp/source/" rel="nofollow" title="PostgreSQL: File Browser">PostgreSQL: File Browser

    选择要安装的版本进行下载:

  • 三、安装依赖包

    在要安装postgresql数据库的Linux服务器上执行以下命令安装所需要的依赖包:

  •   yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
    
    四、安装postgres

    1、在根目录下新建/opt/pgsql文件夹,并将pgsql的压缩包移入。

  • 2、解压压缩包

  •   tar -zxvf postgresql-12.0.tar.gz 
    

    3、进入解压后的文件夹

  •   cd postgresql-12.0
    

    4、编译postgresql源码

  •   ./configure --prefix=/opt/pgsql/postgresqlmakemake install
    

    至此,已完成postgreql的安装。进入/opt/pgsql/postgresql目录可以看到安装后的postgresql的文件。

  • 五、创建用户组postgres并创建用户postgres
  •   groupadd postgresuseradd -g postgres postgresid postgres
    

  • postgresql_58">六、创建postgresql数据库的数据主目录并修改文件所有者
  • 这个数据库主目录是随实际情况而不同,这里我们的主目录是在/opt/pgsql/postgresql/data目录下

  •   mkdir datachown postgres:postgres data
    

  • 七、配置环境变量

    进入home/postgres目录可以看到.bash_profile文件。

  •   cd /home/postgresls -al
    

    编辑修改.bash_profile文件。

  •   vim .bash_profile 
    

    添加以下内容。

  •   export PGHOME=/opt/pgsql/postgresqlexport PGDATA=/opt/pgsql/postgresql/dataPATH=$PATH:$HOME/bin:$PGHOME/bin
    

    保存,退出vim。执行以下命令,使环境变量生效

  •   source .bash_profile 
    
    八、切换用户到postgres并使用initdb初使用化数据库
  •   su - postgres
    

initdb

可以看到/opt/pgsql/postgresql/data已经有文件了。

cd /opt/pgsql/postgresql/data

九、配置服务

修改/opt/pgsql/postgresql/data目录下的两个文件。

postgresql.conf 配置PostgreSQL数据库服务器的相应的参数。

pg_hba.conf 配置对数据库的访问权限。

vim postgresql.conf 

其中,参数“listen_addresses”表示监听的IP地址,默认是在localhost处监听,也就是127.0.0.1的ip地址上监听,只接受来自本机localhost的连接请求,这会让远程的主机无法登陆这台数据库,如果想从其他的机器上登陆这台数据库,需要把监听地址改为实际网络的地址,一种简单的方法是,将行开头的#去掉,把这个地址改为*,表示在本地的所有地址上监听。

vim pg_hba.confhost    all            all             0.0.0.0/0               trust
#新增这一行

找到最下面这一行,这样局域网的人才能访问

十、设置PostgreSQL开机自启动

PostgreSQL的开机自启动脚本位于PostgreSQL源码目录的contrib/start-scripts路径下。

linux文件即为linux系统上的启动脚本

cd /opt/pgsql/postgresql-12.0/contrib/start-scripts

切换为root用户,修改linux文件属性,添加X属性

su root

chmod a+x linux

复制linux文件到/etc/init.d目录下,更名为postgresql

cp linux /etc/init.d/postgresql

修改/etc/init.d/postgresql文件的两个变量

prefix设置为postgresql的安装路径:/pgsql/postgresql

PGDATA设置为postgresql的数据目录路径:/pgsql/postgresql/data

vim /etc/init.d/postgresql 

设置postgresql服务开机自启动

chkconfig --add postgresql

执行service postgresql start,启动PostgreSQL服务

service postgresql start


http://www.ppmy.cn/news/1565353.html

相关文章

从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CICD)

从零到上线:Node.js 项目的完整部署流程(包含 Docker 和 CI/CD) 目录 项目初始化:构建一个简单的 Node.js 应用设置 Docker 环境:容器化你的应用配置 CI/CD:自动化构建与部署上线前的最后检查:…

从零开始打造一个Java基于 Spring Boot 的旅游信息化平台

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

Golang 生态学习

1. Go 语言基础 在深入 Go 语言的生态之前,首先需要掌握 Go 语言本身的核心特性。 • Go 语言官方文档:https://golang.org/doc/ Go 官方文档是学习语言基础和标准库的首选资源。 • 学习内容: • 基础语法:数据类型、控制流…

基于本地消息表实现分布式事务

假设我们有一个电商系统,包含订单服务和库存服务。当用户下单时,需要在订单服务中创建订单,同时在库存服务中扣减库存。这是一个典型的分布式事务场景,我们需要保证这两个操作要么都成功,要么都失败,以保证数据的最终一致性。 项目结构: 订单服务(Order Service)库存服务(Inv…

Kafka 和 MQ 的区别

1.概述 1.1.MQ简介 消息中间件,其实准确的叫法应该叫消息队列(message queue),简称MQ。其本质上是个队列,有FIFO的性质,即first in first out,先入先出。 目前市场上主流的MQ有三款&#xff…

python管理工具:conda部署+使用

python管理工具:conda部署使用 一、安装部署 1、 下载 - 官网下载: https://repo.anaconda.com/archive/index.html - wget方式: wget -c https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Linux-x86_64.sh2、 安装 在conda文件的…

如何将本地电脑上的文件夹设置为和服务器的共享文件夹

将本地电脑上的文件夹设为与服务器共享的文件夹,通常是在本地开启文件共享,并配置相应的权限,使服务器可以访问该文件夹。以下以 Windows 系统为例说明具体操作步骤: 一、在本地电脑上设置共享文件夹 选择文件夹 找到需要共享的文…

基于libuv实现的C++定时器管理器——TimerManager

在多线程编程中,定时器是一个非常重要的功能,它能够让我们在特定的时间点执行特定的任务。本文将介绍一个基于libuv库实现的C定时器管理器——TimerManager,它通过创建多个工作线程,每个线程运行一个uv loop来高效地管理定时器任务…