事情背景:需要在Linux上安装postgres数据库,但安装目录想直接指定,所以想通过源码编译安装pg

首先下载源码安装包。源码下载地址:https://github.com/postgres/postgres/releases

本人下载的版本是postgres-REL_10_9.tar.gz

用下面命令切换root用户进行操作:

sudo -i

(1)将安装包上传到Linux服务器

(2)解压源码压缩文件

tar -xvfz postgres-REL_10_9.tar.gz

(3)编译前的配置。

cd postgres-REL_10_9
./configure

(4)正式编译

make

在这个过程中,会遇到各种依赖缺失而报错,通过yum install *** 进行安装即可。

(5)安装

make install

(6)创建系统pg用户,并设置密码

adduser postgres
passwd postgres

(7)创建数据库数据存放的文件夹

mkdir /usr/local/pgsql/data 

(8)授权数据文件夹给postgres用户

chown postgres /usr/local/pgsql/data 

(9)环境变量配置

vi .bash_profile

  添加PGDATA、PATH等,如下:

export PGDATA=/usr/local/pgsql/data
export PG_HOME=/usr/local/pgsql
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LID_LIBRARY_PATH
export PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PG_HOME/bin

(10)重启配置

source .bash_porfile

(11)初始化数据库

initdb -D /usr/local/pgsql/data   #有配置PGDATA环境的换直接initdb即可

(10)启动postgres service 服务

pg_ctl start -D /usr/local/pgsql/data/ -l /usr/local/pgsql/data/logfile 

(11)创建第一个数据库

createdb test 

(12)使用psql工具连接进入到数据库操作命令行

psql test 

(13)设置sql语句执行的上下文(即针对哪一个Schema操作)

set search_path to public 

(14)创建测试表

create table test(id int primary key,name varchar(50) not null);
insert into test(id,name) values(1,'小明');
insert into test(id,name) values(2,'小红');

(15)查看表记录

select * from test;

以上就安装好pgsql数据库了。

开机服务配置:将下载的postgres安装包postgres-REL_10_9里的contrib/start-scripts路径下的liunx文件复制到 /etc/init.d/目录下

(1)切换到root用户

sudo -i

(2)将安装包里的linux文件复制到  /etc/init.d/目录下,重命名为postgresql.

cp /tmp/postgres-REL_10_9/contrib/start-scripts/linux /etc/init.d/postgresql #我的pgsql的安装包是放在/tmp/目录下的

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

vi /etc/init.d/postgresql

这是默认的路径,如果不一致则修改。prefix=数据库的安装路径  PGDATA=数据库数据的路径

(4)启动postgresql服务

service postgresql start
service postgresql status #查看postgresql服务状态

(5)设置postgresql服务开机自启动

chkconfig --add postgresql

这样就完成了postgres的安装

Linux(CentOS 7)下安装postgres的更多相关文章

  1. Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因

    原文:Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因 今天试了下在虚拟机上利用CentOS系统的yum命令安装好了httpd(apache2.4.6), ...

  2. linux(centos)环境下安装rabbitMq

    1.由于rabbitMq是用Erlang语言写的,因此要先安装Erlang环境 下载Erlang :http://www.rabbitmq.com/releases/erlang/erlang-19. ...

  3. Linux Centos平台下安装Nginx

    以home下安装为例,切换到home目录下 cd /home 安装依赖 nginx相关依赖 yum -y install make gcc gcc-c++ openssl openssl-devel ...

  4. linux centos 7 下安装ElasticSearch5.4

    一. 把elasticsearch-5.4.0.rpm和kibana-5.4.0-x86_64.rpm上传到centos下/root目录中,如下图:二.进入centos目录/root,并用命令rpm ...

  5. [linux]CentOS 7 下安装 RabbitMQ

    简介 RabbitMQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件.RabbitMQ 服务器是用 Erlang 语言编写的,所以下面要安装 RabbitMQ 需要安装 Erlang. 一. ...

  6. Linux(Centos 7)下安装Git并配置连接GitHub

    1.安装git  Centos7 查看git --version 2.配置用户名密码 git config --global user.name "xxx" git config ...

  7. Linux centos7环境下安装JDK的步骤详解

    Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令:   java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...

  8. Linux CentOS 7 下 Apache Tomcat 7 安装与配置

    前言 记录一下Linux CentOS 7安装Tomcat7的完整步骤. 下载 首先需要下载tomcat7的安装文件,地址如下: http://mirror.bit.edu.cn/apache/tom ...

  9. Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)

    https://blog.csdn.net/shinesun001/article/details/54312402 在centos 7环境下搭建好Lnmp环境之后,发现安装的php有好多扩展都没有安 ...

  10. centos / Linux 服务环境下安装 Redis 5.0.3

    原文:centos / Linux 服务环境下安装 Redis 5.0.3 1.首先进入你要安装的目录 cd /usr/local 2.下载目前最新稳定版本 Redis 5.0.3 wget http ...

随机推荐

  1. win10下子系统的倒腾记录

    本文是对于win10下安装ubuntu 18.04的安装.配置c语言开发环境的记录: 一.win10下面的设置,从win10的1709开始,可以完整的搞定linux子系统,如果win10版本不够的同学 ...

  2. sonar,jiar,xray,jenkins[cli] [sudoers]

    curl -n -X POST http://52.83.39.59:8080'/job/CLA_SSO/buildWithParameters?token=11d710a8eac8012bea28b ...

  3. 计算机基础——Java笔记一

            电子管-晶体管 摩尔定律 18个月变一次       贝尔实验室 C语言是基础.芯片领域软件领域 机器语言 ——汇编语言——高级语言 (面向过程,面向对象)   基本的逻辑怎么用代码实 ...

  4. ORACLE中声明变量:define variable declare

    在sqlplus 环境中,声明变量的关键字:define variable declare 一.define关键字(host变量) host变量的作用是一个替换作用,是主机环境与oracle进行交互的 ...

  5. PyTorch Tutorials 4 训练一个分类器

    %matplotlib inline 训练一个分类器 上一讲中已经看到如何去定义一个神经网络,计算损失值和更新网络的权重. 你现在可能在想下一步. 关于数据? 一般情况下处理图像.文本.音频和视频数据 ...

  6. 时间戳 Flume's Memory Consumption

    效率 https://www.cnblogs.com/zhujiabin/p/6168671.html?utm_source=itdadao&utm_medium=referral  http ...

  7. Maven中的SnapShot版本和Release版本

    # Maven中的SnapShot版本和Release版本 ## 区别 - SnapShot 快照版本- Release 发布版本 ## 重要区别 - 本地获取这些依赖的机制不同,如果是快照版本,Ma ...

  8. Win10系统安装VMware-viclient-6.0无响应问题解决方法

    背景:笔记本重做系统升级至Win10系统后,由于工作需要,得安装VMware-viclient-6.0软件进行远程连接. 问题:没有出现网上那种各种报错情况,只是在点击“安装”按钮的时候没弹出任何等待 ...

  9. MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16

    1.问题描述做开源项目时,碰到VS2010报错如下:MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___ ...

  10. Flutter 中使用Future消除Callback Hell

    /先分别定义各个异步任务 Future<String> login(String userName, String pwd){ ... //用户登录 }; Future<String ...