【自建分布式数据库详细指南】(一)起步:聊聊LINUX及POSTGRESQL

作为一名刚刚入职的码农,整日被各种各样的数据库整的头昏脑涨,偶然所得

了解到了POSTGRESQL这一款开源数据库神器,作为我们架设分布式数据库的工具。

下面简单聊聊POSTGRESQL。

网上是这么介绍的:

PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键触发器视图、事务完整性、多版本并发控制等。同样,PostgreSQL也可以用许多方法扩展,例如通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言等。另外,因为许可证的灵活,任何人都可以以任何目的免费使用、修改和分发PostgreSQL

当然作为普通码农,这些太过于抽象,特别是初入数据库。下面笼统介绍下,有些是个人看法。

优点:

1.性能真的无话可说。基本涵盖了主流的数据库功能,数据格式、索引、算法都非常超前。

2.插件库比较多。有支持分布式的插件,以及读取MYSQL、MONGDB等数据的,总之很多。

3.开源易得。业界良心(同时也警惕),动手能力强的可以自主进行编译,且各项数据库配置可以确保单机数据库发挥最大性能,比个别社区版的数据库要好些,如MYSQL在被甲骨文收购后失去了初心和信仰。

4.有着良好的国产化支持趋势。不少国产数据库,打着分布式旗号的数据库依托此为底层。

5.避免吃官司。作为初创企业以及不想招惹官司的企业,是个不错的选择。毕竟开源协议友好。

缺点:

1.首先不被大型商业化公司认可。不管是从稳定性、持续性、以及商业盈利性,大型商业公司不愿意选择。

2.版本更迭太快,教程比较杂乱,学习支持不够好,且学习难度也比较大(这也是发本帖的目的所在)。但是有兴致,确实可以学不少。

3.存在一些莫名其妙的但不会影响数据库性能的BUG。WIN平台支持不够友好,特别是可视化管理界面BUG较多,容易出现假死现象。

4.使用此数据库有时会受到一些ORACLE、SQLSERVER、MYSQL的抨击和鄙视,原因不详。

下面开始正题:

准备操作系统LINUX

这里暂时选择CENTOS,相见不如怀念。

数据库POSTGRESQL安装

版本信息:

    CentOS版本:CentOS-7-x86_64-Minimal-1810

    PostgreSQL版本: PostgreSQL 10.10, 64-bit 最新已经支持到14

第一部分:PostgresSQL的安装

1、安装rpm文件

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2、安装客户端

yum install postgresql14

3、安装服务端

yum install postgresql14-server

4、初始化

/usr/pgsql-14/bin/postgresql-14-setup initdb

#对于初始化后操作失误,想重新初始化数据库的执行删除文件然后重新执行上述命令即可
rm -rf /var/lib/pgsql/14/*

5、设置自动启动并且启动postgresql服务

systemctl enable postgresql-14
systemctl start postgresql-14

#一般不提示报错信息
ps -ef | grep postgres 
#返回多条进程信息即可确认数据库正常启动

最新版本已经支持到14,兴趣伙伴可以点击以下链接去,这个教程比较简单就不一一介绍了

CentOS7.9下安装PostgreSQL14并指定数据目录笔记

上面有不会POSTGRESQL基础的还请绕道搜索学习下。

对于身处内网的小伙伴们可以采用以下命令减少操作环节

第一个是获取可用的离线安装包

第二个是安装本地安装包(*为通配符,有些不明白的小伙伴可能以为是打错了)

yum install --downloadonly --downloaddir=/home/package  postgresql14-server
yum localinstall postgresql14*

 附:

【postgresql常用服务】启动\停止\开机启动

# 启动
systemctl start postgresql
# 停止
systemctl start postgresql
# 状态
systemctl status postgresql
# 重启
systemctl restart postgresql
# 开机启动 
systemctl enable postgresql

【配置文件】

vi /var/lib/pgsql/data/postgresql.conf

# 打开配置后
# 开启行号显示

# 把监听地址 改为 * . 默认是注释掉的
listen_addresses = '*'                     # what IP address(es) to listen on;
                                           # comma-separated list of addresses;
                                           # defaults to 'localhost'; use '*' for all

-----------------------------------------------------------------------
vi /var/lib/pgsql/data/pg_hba.conf

# 打开配置后, 找到如下配置(最后面)
#METHOD可为MD5,TRUST,PEER等,具体自行搜索

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# IPv6 local connections:
host    all             all             ::1/128                 ident

【防火墙设置】开启端口以供远程访问

firewall-cmd --add-service=postgresql --permanent
firewall-cmd --zone=public --add-port=5432/tcp --permanent          
# 5432为postgresql端口
firewall-cmd --reload

# 查看防火墙开放端口
firewall-cmd --zone=public --list-ports

【自建分布式数据库详细指南】(二)部署:多节点集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值