一、安装步骤

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. dedecmsV5.7 arclist 如何调用副栏目的文章

    问题:用arclist 调用某个栏目下的文章的时候,发现无法调用出副栏目是这个栏目的文章. 然后就上百度搜了一番,记录一下我搜到的解决方法: 1.打开/include/taglib/arclist.l ...

  2. 记录NodeJs常用工具

    安装模块 npm install [-g] module express supervisor:改代码自动重启服务 用法>> supervisor xxx.js 搜索模块 npm sear ...

  3. python脚本实现音频m4a格式转成MP3格式

    群里看到有人询问:谁会用python将微信音频文件后缀m4a格式转成mp3格式,毫不犹豫回了句:我会.然后就私下聊起来了 解决方法介绍如下: 工具:windows系统,python2.7,转换库ffm ...

  4. Linux:FTP服务器的搭建

    FTP服务器的简介 系统用户 即系统本机的用户.Linux一般不会针对实体用户进行限制,因此实体用户可以针对整个文件 系统进行工作.但通常不希望他们通过FTP方式远程访问系统. 虚拟用户 只能采用FT ...

  5. 微信小程序——wx.navigateTo点击后没反应

    首先,检查你跳转的目标路径是不是属于tabBar,若属于,且当前页面存在tabBar时,wx.navigateTo方法是失效的. 此时可用wx.switchTab方法,并记得在app.json中的&q ...

  6. 008.MongoDB分片群集概念及原理

    一 MongoDB分片介绍 1.1 分片 Mongodb另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求. 当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足 ...

  7. xen原理

    目录:1. Xen的简介1.1 Xen的大体结构1.2 Xen对VM的称呼1.3 Xen对CPU和内存的虚拟化过程1.4 Xen对IO设备的虚拟化过程1.5 Linux Kernel对Xen的支持1. ...

  8. 2019年最新50道java基础部分面试题(四)

    前35题请移步上几篇文章 36.数组有没有length()这个方法? String有没有length()这个方法?  数组没有length()这个方法,有length的属性.String有有lengt ...

  9. LG2602/BZOJ1833 「ZJOI2010」数字计数 数位DP

    问题描述 LG2602 BZOJ1833 题解 数位\(\mathrm{DP}\)板子题. 注意限制位数.前导零. \([a,b]=[1,b]-[1,a-1]\) \(\mathrm{Code}\) ...

  10. 网络传播模型Python代码实现

    SI模型 import numpy as np import matplotlib.pyplot as plt import smallworld as sw #邻接矩阵 a = sw.a # 感染率 ...