一、安装步骤

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. Python 读取照片的信息:拍摄时间、拍摄设备、经纬度等,以及根据经纬度通过百度地图API获取位置

    通过第三方库exifread读取照片信息.exifread官网:https://pypi.org/project/ExifRead/ 一.安装exifreadpip install exifread ...

  2. mysql中用命令行复制表结构(数据)

    mysql中用命令行复制表结构的方法主要有一下几种: 1.只复制表结构到新表 CREATE TABLE 新表 SELECT * FROM 旧表 WHERE 1=2; 或 CREATE TABLE 新表 ...

  3. Shell—引入外部脚本文件

    在Shell中要如何调用别的shell脚本,或别的脚本中的变量,函数呢? 方式1:. filename               方式2:source filename    需要注意: 两个点之间 ...

  4. Linux-3.14.12内存管理笔记【构建内存管理框架(2)】

    前面构建内存管理框架,已经将内存管理node节点设置完毕,接下来将是管理区和页面管理的构建.此处代码实现主要在于setup_arch()下的一处钩子:x86_init.paging.pagetable ...

  5. Python入门基础学习(文件与异常处理)

    Python基础学习笔记(七) 捕获异常的语法格式: 文件的基本操作: 打开文件 读.写文件 关闭文件 read方法 --读取文件: open函数的第一个参数是要打开的文件名(文件名区分大小写) 如果 ...

  6. event.stopPropagation()和event.preventDefault()

    1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开, ...

  7. php处理curl的返回结果

    最简单的方式: json_decode($res,true): 结果都是:

  8. es6入门7--Set Map数据结构

    本文作为ES6入门第十三章的学习整理笔记,可能会包含少部分个人的理解推测,若想阅读更详细的介绍,还请阅读原文ES6入门 一.set数据结构 1.set不接受重复值 ES6新增了Set构造函数用于创建s ...

  9. 详解JAVA8Stream 方法引用(基础){全}

    1: Stream流 1.1 引言 1.2 流式思想概述 1.3 获取流 1.4 常用方法 1.5 练习:集合元素处理 2:方法引用 2.1 冗余的Lambda场景 2.2 方法引用符 2.3 通过对 ...

  10. 依赖注入在 dotnet core 中实现与使用:3 使用 Lazy<T> 延迟实例化

    有些对象我们并不想一开始就实例化,由于性能或者功能的考虑,希望等到使用的时候再实例化.考虑存在一个类 A, 它使用了依赖的类 B,在 A 中,只有某些不常用到的方法会涉及调用 B 中的方法,多数情况下 ...