一、安装步骤

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. axel 多线程下载工具

    yum install axel-2.4-9.el7.x86_64 -y # 选项 --max-speed=x , -s x 最高速度x --num-connections=x , -n x 连接数x ...

  2. 关于xshell连接limux界面按上下左右方向键出现ABCD的问题

    这个问题有两种可能: 1.一种是由于当前用户使用的shell是/bin/sh的原因.在添加用户的时候没有添加用户的指定shell类型,因此默认为/bin/sh. 可以用如下命令查看当前用户的shell ...

  3. raid组合优缺点介绍和创建LVM实验个人笔记

    一.RAID组合介绍 RAID模式优缺点的简要介绍 1.raid 0 模式 优点:在RAID 0状态下,存储数据被分割成两部分,分别存储在两块硬盘上,此时移动硬盘的理论存储速度是单块硬盘的2倍,实际容 ...

  4. Python语法速查: 2. 列表、元组、字典、集合操作

    返回目录 (1)通用序列操作 “序列”表示索引为非负整数的有序对象集合,列表.元组.字符串都属于序列.区别在于:列表是可变的,而元组和字符串是不可变的.序列的通用操作他们都可以用. 操作或方法 简述 ...

  5. jmeter使用问题——数据库无法连接

    使用Jmeter 数据库连接配置组件,执行sql时jmeter日志报错 WARN o.a.j.p.j.p.AbstractJDBCProcessor: SQL Problem in 查询账号申诉ID: ...

  6. MongoDB学习笔记(一、MongoDB入门)

    目录: 为什么要使用nosql mongo的简介 应用场景 入门demo 为什么要使用nosql: 随着互联网的发展,用户数量激增,访问量的上涨,传统的关系型数据库的性能也趋于瓶颈. 关系型数据库难以 ...

  7. 题解:A

    A (a.pas/c/cpp) [题目描述] 对于给定的一个正整数n, 判断n是否能分成若干个正整数之和 (可以重复) , 其中每个正整数都能表示成两个质数乘积. [输入描述] 第一行一个正整数 q, ...

  8. MYSQL高可用集群架构-MHA架构

    1  MHA简介:MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebook公司 ...

  9. 【Resharper】C# “Simplify conditional ternary expression”

    #事故现场: 对某个对象做空值检测的时候,结合三元运算符给某变量赋值的时候,R#提示:"Simplify conditional ternary expression" : R#建 ...

  10. angular ng-bind-html异常Attempting to use an unsafe value in a safe context处理

    在angular中使用ng-data-html渲染dom时,遇到了一个Attempting to use an unsafe value in a safe context错误,官方给出的理由是‘试图 ...