一、安装步骤

1、设置保存安装包的目录

# cd /usr/local/src

2、开始下载源包

# wget https://ftp.postgresql.org/pub/source/v12.1/postgresql-12.1.tar.gz      (https://www.postgresql.org/ftp/source/ 这里是官网资源)

3、解压

# tar zxvf postgresql-12.1.tar.gz

4、移动位置/usr/local/pgsql/postgresql-12.1

# mv postgresql-12.1 /usr/local/pgsql/postgresql-12.1

6、进入移动后的目录

# cd /usr/local/pgsql/postgresql-12.1

8、配置选项生成Makefile,默认安装到目录/usr/local/pgsql/postgresql-12.1

# ./configure            (如果要安装到自定义目录,这里修改为  # ./configure --prefix= /usr/local/pgsql  红字部分是你的自定义路径)

9、echo 一下返回是否为0, 0表示无错误

# echo $?
130

10、发现没有相关包依次安装

# yum install -y bison
# yum install -y flex
# yum install -y readline-devel (https://www.linuxidc.com/Linux/2012-02/53982.htm 这里有解释为什么安装这个)
# yum install -y zlib-devel

11、编译

# make (编译后再echo $? 如果为0 就可以安装了)

12、安装

# make install

13、创建,添加postgres 用户到 postgres组

# groupadd postgres                             (创建组:postgres )
# useradd -g postgres postgres            (命令解释:useradd -g 用户组 用户 )

# mkdir -p /usr/local/pgsql/data             (创建一个data 目录)
# chown postgres /usr/local/pgsql/data ( 改变data的权限为postgres用户)
# su - postgres                                       ( 切换操作用户为 postgres)

14、初始化数据库

$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

(提示:初始化数据库的操作为: ./initdb -D /usr/local/pgsql/data initdb把用户指定的选项转换成对应的参数,通过外部程序调用的方式执行postgres程序。

postgres程序在这种方式下将进入bootstrap模式创建数据集簇,并读取后端接口postgres.bki文件来创建模板数据库。)

15、启动数据库

$ /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l logfile start(启动数据库)

/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ stop                (停止数据库)

/usr/local/pgsql/bin/pg_ctl restart -D /usr/local/pgsql/data/ -m fast (重启数据库)

二、postgreSQL配置

1、修改postgresql.conf,修改主要的配置参数。

修改前可以先备份一下

$ cp postgresql.conf postgresql.conf_bak

$ vim /usr/local/pgsql/data/postgresql.conf

修改listen_addresses = '*'    前面的#号需要去掉(按/键输入listen_addresses可以快速查找该行。)默认参数是‘localhost‘ 只监听本机IP修改为’*‘后,

可以让远端的其它设备访问 。另外没有vim 可以使用# yum install -y vim 安装vim文本编辑工具。

2、修改postgresql.conf,修改数据库的访问权限。

$ vim /usr/local/pgsql/data/pg_hba.conf

添加以下,表示主机所有IP都可以访问。

host            all             all               0.0.0.0/0           trust

3、添加环境变量

$ su                             (输入密码后切换为root管理员)

# cd /home/postgres   (之前我们创建了一个postgres的用户所以这里有这个目录)

# vim .bash_profile

添加

export PGHOME=/usr/local/pgsql

export PGDATA=/usr/local/pgsql/data

PATH=$PATH:$HOME/bin:$PGHOME/bin

# source .bash_profile (使修改生效)

4、设置开机自启动

# cd /usr/local/pgsql/postgresql-12.1/contrib/start-scripts (这里有个文件名叫linux的文件,它是linux系统的启动脚本)

由于这个文件权限没有设置为X可以执行权限,我们需要设置它为可运行。

# chmod a+x linux

# cp linux /etc/init.d/postgresql   (复制linux文件到/etc/init.d目录下,并更名postgresql)

# vim linux /etc/init.d/postgresql

查看

prefix=/usr/local/pgsql    (安装程序的文件路径)

PGDATA="/usr/local/pgsql/data" (数据存放目录)

如果和自己的路径一致就不需要修改了,按ESC键 ,然后:q退出编辑。

# chkconfig --add postgresql (添加开机启动项目)

# chkconfig  (看下是否设置成功)

4、设置系统配置,开放默认的5432端口

如果CentOS6 使用iptables执行以下步骤。

# vim /etc/sysconfig/iptables

添加

-A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT

# cd /etc/init.d/iptables restart (重启服务)

如果CentOS7 有使用firewall防火墙执行以下步骤。

# firewall-cmd --zone=public --list-ports

# firewall-cmd --zone=public --add-port=5432/tcp --permanent  (添加5432端口)

# firewall-cmd --reload  (重启防火墙)

5、启动服务

# service postgresql start

6、查看PostgreSQL服务

# ps -ef | grep postgres

7、设置默认密码

PostgreSQL安装后会自动创建一个用户,名为postgres

# su - postgres  (默认密码为空,切换到postgres用户)

# psql -U postgres

postgres=#   ALTER USER postgres with encrypted password 'asd111'; (asd111密码自由设置)

postgres=#   \q (可退出)

三、使用阿里云的5432端口打开

1、选择-安全组-配置规则

确定后就开放了5432端口了。

2、使用pgAdmin连接数据库

配置IP,5432端口,用户,密码:asd111 就可以连接了。

参考链接:

https://blog.csdn.net/min0324/article/details/85019434

https://blog.csdn.net/joy_chou12/article/details/89351634

https://www.cnblogs.com/Paul-watermelon/p/10654303.html

linux 安装PostgreSQL12的更多相关文章

  1. 搜狗输入法linux安装 以及 12个依赖包下载链接分享

    搜狗输入法linux安装版,先安装各种依赖包,大概12个依赖,可能中途还需要其他依赖,可以效仿解决依赖问题.如图这12个文件要是手动点击下载,那也太笨点了,我们要用shell命令批量下载.命令如下:w ...

  2. linux安装php

    接上篇:linux安装apache 一.安装php 先安装libxml2库 [root@ctxsdhy package]# yum -y install libxml2-devel 最新地址在:htt ...

  3. linux安装oracle11g

    准备oracle安装文件 Oracle11gR2包含两个文件linux_11gR2_database_1of2.zip和linux_11gR2_database_2of2.zip,将这两个文件通过SS ...

  4. TODO:Linux安装PHP MongoDB驱动

    TODO:Linux安装PHP MongoDB驱动 PHP利于学习,使用广泛,主要适用于Web开发领域. MongoDB的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)以及传统的RDBMS系统 ...

  5. Symantec Backup Exec 2010 Agent For Linux安装

    以前写过一篇文章介绍过Symantec Backup Exec 2012 Agent For Linux安装安装,今天介绍一下Symantec Backup Exec 2010 Agent For L ...

  6. Symantec Backup Exec 2012 Agent For Linux安装

    Backup Exec 2012 介绍 Backup Exec 2012 是一种为虚拟和物理环境提供保护的集成产品,能够简化备份和灾难恢复,并提供了无可匹敌的恢复功能.借助于强大的 Symantec ...

  7. linux 安装jdk

    1.Linux安装JDK步骤1. 先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,推荐SUN的官方网站www.sun.com,下载后放在/home目录中,当然其它地方也 ...

  8. Hadoop Linux安装

    Hadoop Linux安装 步骤流程 1.硬件准备 2.软件准备(推荐CDH) 3.将Hadoop安装包分发到各个节点下 4.安装JDK 5.修改/etc/hosts配置文件 6.设置SSH免密码登 ...

  9. 自己瞎捣腾的Win7下Linux安装之路-----理论篇

    接着上回说道,我把双系统做好啦,开心.... 之后我就在想几个问题: 1.在Ubuntu装好后,重启电脑却还是win7,等我用EasyBCD之后,才可选择使用装好的Ubuntu呢? 2.在用EasyB ...

随机推荐

  1. DOM HTML

    DOM HTML HTML DOM 允许 JavaScript 改变 HTML 元素的内容. 改变 HTML 输出流 JavaScript 能够创建动态的 HTML 内容: 今天的日期是: Tue J ...

  2. 个人项目开源之c++基于epoll实现高并发游戏盒子(服务端+客户端)源代码

    正在陆续开源自己的一些项目 此为c++实现高并发的游戏盒子,平台问题需要迁移重构,所以有一些遗留问题,客户端异常断开没有处理,会导致服务器崩溃,还有基于快写代码编程平台实现的小程序切换,线程读写缓存没 ...

  3. Thymeleaf常用语法:模板文件中表达式调用Java类的静态方法

    在模板文件的表达式中,可以使用“${T(全限定类名).方法名(参数)}”这种格式来调用Java类的静态方法. 开发环境:IntelliJ IDEA 2019.2.2Spring Boot版本:2.1. ...

  4. jmeter控制器(三)

    While Controllert当控制器: 当满足条件的情况下,就会执行控制器里面的脚本,首先我们设置线程组循环次数为10,如下图: 其次在配置元件中添加一个计数器,并设置从0到最大的10,每次递增 ...

  5. SQL Server 查询某一个数据库存储过程、函数是否包含某一个内容或者脚本

    SELECT obj.Name 名称, sc.TEXT 内容FROM syscomments scINNER JOIN sysobjects obj ON sc.Id = obj.IDWHERE sc ...

  6. Octave中的一些常用操作

    >> 5+6ans = 11>> 1~=2ans = 1 %1表示true,0表示false>> 1~=1    %1不等于1ans = 0>> a=2 ...

  7. Linux 内核虚拟地址到物理地址转换讨论【转】

    转自:https://blog.csdn.net/sunlei0625/article/details/59476987 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请 ...

  8. Day5- Python基础5 模块导入、time、datetime、random、os、sys、hashlib、json&pickle

    本节目录: 1.模块的分类 2.模块的导入 3.time模块 4.datetime模块 5.random 6.os模块 7.sys模块 8.hashlib 9.json&pickle 一.模块 ...

  9. AcWing 27. 数值的整数次方

    地址 https://www.acwing.com/problem/content/description/26/ 题目描述实现函数double Power(double base, int expo ...

  10. Spring Cloud 如何搭建eureka

    Eureka Server 的搭建 eureka 是 Spring Cloud 的注册中心,提供服务注册和服务发现的功能. 利用idea 快速创建一个eureka应用File - NewProject ...