Postgresql部署及简单操作

Stella981
• 阅读 746

PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS),在开源数据库使用上与MySQL各领风骚。 但也有不少人质疑postgresql的未来,正所谓,赞扬或批判一种数据库都必须先了解它,然后才可有话语权。 为了更多的了解postgresql,我们就先部署一套实例作为了解它的基础。

Postgresql部署及简单操作

一 、 环境介绍

操作系统: centos

CPU:  4核

内存: 16G

postgresql:  postgresql-11.4

二、 编译安装

1. 安装依赖包

 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


   
   
   
   
     
 
    
    
    2. 下载并解压
   
     
 
    
    
    
  
    

   
   
   

wget https://ftp.postgresql.org/pub/source/v11.4/postgresql-11.4.tar.gz

3. 创建用户

 # 查看用户是否存在

Postgresql部署及简单操作

4. 创建 postgresql数据目录并授权

选择对应的磁盘空间较大的盘创建数据目录

mkdir -p /data/postgresql/data

5. 编译postgresql源码

cd /data/postgresql-11.4

Postgresql部署及简单操作

PostgreSQL配置脚本选项
Postgresql部署及简单操作

6. 开始安装

make

编译后结果如下

Postgresql部署及简单操作

至此,postgresql安装完成。

7. 配置环境变量

# 切换到postgres用户

Postgresql部署及简单操作

8. 初始化数据库

在postgres用户下运行initdb命令即可初始化数据库

initdb

Postgresql部署及简单操作

此时,postgresql数据目录下已经生成对应的文件。

cd /data/postgresql/data

Postgresql部署及简单操作

9. 配置文件修改

修改数据目录下的postgresql.conf  及 pg_hba.conf文件

postgresql.conf   配置PostgreSQL数据库服务器的相应的参数。   pg_hba.conf        配置对数据库的访问权限

初期测试使用时,可以简单修改部分配置,其他值使用默认值。

1)修改 postgresql.conf

vim postgresql.conf

Postgresql部署及简单操作

内存配置等参数后续将介绍其含义及配置建议。

2)修改 pg_hba.conf

添加如下记录

Postgresql部署及简单操作

10.  配置服务

如需配置为服务启动方式,可以按照如下步骤操作

# 进入postgresql源码目录

Postgresql部署及简单操作

因启动服务命令里配置上了默认安装路径目录及数据目录,如与默认路径不一致,需手动调整

Postgresql部署及简单操作

vim  /etc/init.d/postgresql














 

修改 prefix及PGDATA

Postgresql部署及简单操作

11 . 启动服务

a)  通过服务启动postgresql

/etc/init.d/postgresql  start

Postgresql部署及简单操作

b)  通过服务关闭postgresql

/etc/init.d/postgresql  stop

c)  通过pg_ctl 启动

#  将postgresql安装路径bin目录下的命令赋权给postgres用户

Postgresql部署及简单操作

至此,便可以通过客户端连接数据库进行操作了。

三、简单操作

1. 创建数据库

createdb gjc

2.  连接数据库

# 使用psql连接gjc数据库

3.  创建表、索引、并插入数据

gjc=# create table  test1(id int  not null  primary key,name  varchar(20),age int );

其他的操作,大家可以参考官方文档或中文社区进行学习实践,如有问题也可以与我联系沟通,共同探索。

耿小厨已开通个人微信公众号,想进一步沟通或想了解其他文章的同学可以关注我

Postgresql部署及简单操作

本文分享自微信公众号 - 数据库干货铺(database_gjc)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Easter79 Easter79
2年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这