PostgreSQL数据库安装
PostgreSQL数据库安装
2018年01月31日 10时53分13秒
编译以及安装
源码编译
1) 官网下载源码安装包(本次源码安装包名:postgresql-9.6.0.tar.gz)。
2) 为了安装的管理,Linux机器一般需要先 创建 三个目录:编译目录、数据库安装目录、数据初始化目录。
3) 这儿使用的目录如下:
| 编译目录 | 数据库安装目录 | 数据存储目录 |
|---|---|---|
| /usr/local/src/postgresql | /usr/local/pgsql9.6.0/ | /data/pgdata |
4) 将源码安装包上传到编译目录,并使用tar命令解压。
tar -xvf postgresql-9.6.0.tar.gz
5) 安装postgresql依赖包
# 如果安装报错,再次运行一次
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake
注: redhat7.4配置yum源步骤见:传送门
6) 对源码进行编译,源码编译使用root用户即可
# 进入解压目录
#对于9.X版本的默认线程安全,所以不用添加线程安全的选项了
#第一步就是使用configure命令
./configure --prefix=/usr/local/pgsql9.6.0 --with-perl --with-python
#第二步使用make,make的版本需要在3.8之上,版本查看:make --version
make
#第三步使用make install安装,需要root权限才能对/usr/local有写权限
make install
程序安装
1) 安装之后:建立软连接,方便后期升级维护
ln -sf /usr/local/pgsql9.6.0/ /usr/local/pgsql
2) 设置可执行文件与共享库的路径:
如果是将语句加在.profile或.bash_profile文件中,界面登录是不会生效的。所以可以加在/etc/profile文件中
#将postgresql自带命令路径添加到PATH
export PATH=/usr/local/pgsql/bin:$PATH
#设置共享库的路径
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
#设置数据存储的路径
export PGDATA=/data/pgdata/
#创建用户
useradd -U -p 123456 postgres
#如果这个目录不属于postgres用户和组,可以使用chown修改
chown postgres:postgres /data/pgdata/
#将所有的参数设置完成之后,将变量导出使其生效
source /etc/profile
3) 将依赖的环境变量导出之后,进行数据库初始化到数据存储目录之中
#切换为postgres用户初始化数据库
su - postgres
#数据库的初始化,命令之后不指定PGDATA,默认使用环境变量PGDATA中存储的路径
initdb
4) 如果需要安装contrib下的工具可以到之前解压的主目录下的contrib目录运行下面的命令
make;
sudo make install;
数据库的启动和停止
启动数据库
# 切换为postgres用户后启动
su - postgres
pg_ctl start -D $PGDATA
#PGDATA是前面导出的数据库的数据目录,也可以直接在命令后面加目录启动
关闭数据库
# 切换为postgres用户后停止
su - postgres
pg_ctl stop -D $PGDATA [ -m shutdown-mode ]
-m为停止方法:(3个参数)
smart:等待所有连接中止之后
fast:快速关闭,断开客户端连接,让已有事务回滚
immediate:立即退出,下次进入需要修复
数据库开机自动启动
1) 开机自动启动,需要将解压路径下的contrib/start-scripts/linux文件添加执行权限, 并且修改该文件中的PGDATA参数为自己的实际的路径,prefix参数修改为前面数据库的安装目录,前面将数据库的安装目录添加了软连接,这儿修改为软连接的目录就可以了(强烈推荐使用前面软连接的做法,方便管理)
2) 之后将linux文件复制到/etc/init.d/下重命名为postgresql
#添加为开机前启动
chkconfig --add postgresql
#对服务的管理命令
service postgresql {start|stop|restart|reload|status}
远程连接配置
需要配置两个文件,位于数据库数据目录()
postgresql.conf
pg_hba.conf
数据库的基本操作
--创建用户
create user hzhang with password 'hzhang';
--赋权限
alter user hzhang with createdb;
--修改用户密码
alter user hzhang with password 'hzhang';
--创建一个数据库,数据库拥有者hzhang
create database moon owner hzhang;
安装过程中的报错
基本都是安装依赖包的时候没有安装造成的
报错1:configure: error: no acceptable C compiler found in $PATH
解决方法:安装gcc套件
yum install gcc
报错2:configure: error: readline library not found
解决方法:安装readline-devel
yum list | grep readline
yum install readline-devel.x86_64
报错3:configure: error: zlib library not found
解决方法:安装zlib-devel
yum list | grep zlib
yum install zlib-devel.x86_64
报错4:configure: error: header file <Python.h> is required for Python
解决方法
yum install python python-devel
PostgreSQL数据库安装的更多相关文章
- PostgreSQL数据库安装Version10.5
PostgreSQL数据库安装,基于版本10.5安装, 在Linux系统上使用*.gz二进制压缩包手动安装. 操作系统:Red Hat Enterprise Linux Server release ...
- 在linux系统下检查postgresql数据库安装,登录数据库及简单的查看数据库
1. 检查Linux系统是否安装数据库 首先查看自己的系统是否安装了postgresql数据库命令如下: rpm -qa | grep postgresql 如果没有显示查询结果(如下图所示)说 ...
- PostGreSQL数据库安装教程
windows 10 x64 pro 1703安装postgresql-9.6.3-2-windows-x64.exe数据库,步骤如下: 第一:下载数据库安装程序,下载地址为:https://www. ...
- postgresql数据库安装及简单操作
自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选. 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手.以下内容基于Debian操作系统,其他操作系 ...
- PostGreSQL数据库安装配置说明
windows 10 x64 pro 1703安装postgresql-9.6.3-2-windows-x64.exe数据库,步骤如下: 第一:下载数据库安装程序,下载地址为:https://www. ...
- centos7下postgresql数据库安装及配置
1.安装 #yum install -y postgresql-server 2.postgresql数据库初始化 #service postgresql initdb 3.启动postgresql服 ...
- 2019-11-24:postgresql数据库安装,最后报错failed to load SQLModule 问题的解决方案
安装环境:Windows 10 问题描述:Failed to load sql modules into the database cluster 原因在于 Postgresql 没有安装完全. 解决 ...
- postgresql数据库安装后的pgadmin4中无法加载本地连接解决办法
postgresql 在安装最后一步提示the database cluster initialisation failed, 而后点开pgadmin4发现如下图所示 经过百度搜索找出问题原因, 由于 ...
- Postgresql数据库安装中文全文搜索插件zhparser的问题
在PG数据库的基础上加装zhparser中文全文搜索插件,说实话,挺怕这些单独编译安装的插件的,因为安装PG数据库方法的不同,最后可能导致安装的插件各种安装不上,这里说一下我遇到的坑,系统环境是Cen ...
随机推荐
- 深入浅出依赖注入容器——Autofac
1.写在前面 相信大家对IOC和DI都耳熟能详,它们在项目里面带来的便利大家也都知道,微软新出的.NetCore也大量采用了这种手法. 如今.NetCore也是大势所趋了,基本上以.Net为技术主导的 ...
- EasyNVR网页摄像机无插件H5、谷歌Chrome直播方案-Onvif(二)使用Onvif协议进行设备RTSP地址获取
背景介绍 EasyNVR最大的优势就是兼容性,通过RTSP协议接入传统网络摄像机.NVR.编码器等,使用RTSP协议接入能兼容市面上绝大多数网络摄像机等源设备,最大程度的提高整体方案的硬件设备的兼容性 ...
- python 实现一个简单tcp epoll socket
python 实现一个epoll server #!/usr/bin/env python #-*- coding:utf-8 -*- import socket import select impo ...
- SpringBoot系列教程web篇之自定义异常处理HandlerExceptionResolver
关于Web应用的全局异常处理,上一篇介绍了ControllerAdvice结合@ExceptionHandler的方式来实现web应用的全局异常管理: 本篇博文则带来另外一种并不常见的使用方式,通过实 ...
- imposm模块安装
imposm安装 pip install imposm 报错,参考:https://imposm.org/docs/imposm/2.5.0/install.html 并安装依赖: sudo ap-g ...
- C++ Clock函数调用及用途
用途1 Clock函数可以有效地针对一些只能用随机化做的题目 为了提高该类代码的正确性,我们期望它运行的次数在要求时限内运行足够多 因此将Clock函数充当计时器 用途2 计时判断负环 原理: 给定一 ...
- day12——生成器、推导式、简单内置函数
day12 生成器 迭代器:python中内置的一种节省空间的工具 生成器的本质就是一个迭代器 迭代器和生成器的区别:一个是pyhton自带的,一个是程序员自己写的 写一个生成器 基于函数 在函数中将 ...
- Function Evaluation
Author: Leisureeen Time Limit: 100ms Memory Limit: 65535KB Code Size Limit: 16 KB 64-bit integer IO ...
- GoLang的概述
GoLang的概述 1.什么是程序 完成某个功能的指令的集合 2.Go语言的诞生小故事 2.1. 开发团队-三个大牛 2.2.Google创造Golang的原因 2.3.Golang 的发展历程 20 ...
- yum命令安装jdk
1.查看是否已安装JDK,卸载 yum list installed |grep java java--openjdk.x86_64 :.b13.el7_5 @updates java--openjd ...