PostgreSQL 数据库学习 - 0. 数据库安装

网友投稿 403 2023-11-26

一直向想做一系列文章供大家学习,都是很基础的知识。从此篇开始和大家一起讨论,同样也是监督自己不断地进步。本人是一个PG的菜鸡,但却有一个想要努力成为PG大神的梦。

前言 - 一些废话

PostgreSQL 数据库学习 - 0. 数据库安装

没接触过数据库的小白初识PostgreSQL,一定会有这样一个疑问,这么多数据库,为什么要学PostgreSQL?什么是 PostgreSQL 数据库?怎样去学 PostgreSQL ?这就是著名的黄金圈法则 - why what how(众所周知的都是 what how why ,但对于我而言,why才是第一步,学习之前要明确自己学习的目的)

why - 为什么要学PostgreSQL?国内趋势去O,MySQL数据库听说也被收购了,国家倡导国产化。PG是一款开源数据库,并且支持丰富的插件功能。现在有很多国产数据库都是基于PostgreSQL开发的,从学习 PostgreSQL 开始,再接触其他一些基于PG内核研发的数据库无疑会事半功倍。PG还在2021年DB-Engines Rankings 中斩获亚军,总之PostgreSQL 越来越牛*what - 什么是PostgreSQL数据库?没有接触过数据库的来说,可能很抽象,在这里不讲那些假大空的话,让我们先从安装数据库开始研究他到底是个什么东东,究竟有什么神奇的魔力how - 怎样学习 PostgreSQL 数据库?学习的方法有很多,例如看书(英语好的话也可以看原版)、看视频、考证参加培训机构的培训(打个小广告:目前恩墨学院已经开设 PGCA、PGCE、PGCM等课程,有想要报名的可以联系恩墨学院的老师)、以及公众号(公众号可以利用闲暇时间看,对于初学者有时候文章中的一些词儿不太理解,可以大致看一遍先有个印象)、社区(社区有很多大佬,文章也写得贼棒),总之,“条条大路通罗马”,只要想学还是有多种方法滴

一、yum 安装数据库

想要快速安装数据库,可采用 yum 方式安装

安装步骤:

登录PostgreSQL官网,点击Download

选择自己操作系统的版本

安装数据库

二、源码编译安装数据库

优点:可以自定义安装目录

安装前准备

安装包准备:-安装包(-安装的数据库版本,有两种安装包可选:.bz2和.gz安装包,区别在于.bz2压缩级别高,安装包较小,自然解压时间相较于.gz长点,两种都可)以postgresql-14.1为例

端口(也可自行定义):6000

目录的规划(也可自行定义):

安装包存放目录:/opt/software安装目录:/opt/pg14日志目录:/soft/pg14/pg_log数据目录:/soft/pg14/data6000归档目录:/soft/pg14/archive6000wal目录:/soft/pg14/wal6000 安装1、创建安装包存放目录mkdir -p /opt/software 2、上传安装包到 /opt/software 目录下,并解压文件夹cd /opt/software/# 解压 .gz 安装包tar -zxf postgresql-14.1.tar.gz# 解压 .bz2 安装包tar -jxf postgresql-14.1.tar.bz2 3、yum 安装需要的依赖yum install -y readline readline-devel zlib zlib-devel openssl openssl-devel gcc gcc-c++ make flex bison perl-ExtUtils* perl perl-devel gcc gcc-c++ make flex bison perl-ExtUtils* 4、编译前配置cd postgresql-14.1/./configure --prefix=/opt/pg14 --with-pgport=6000 5、编译安装

make命令进行简单编译,也可以执行make world将contrib目录下的扩展工具一起编译,当然也可以先进行简单编译,然后进入contrib下对某一工具进行单独编译

make world -j16#最后结果显示:PostgreSQL, contrib, and documentation successfully made. Ready to install.即成功make install-world -j16#最后结果显示:PostgreSQL, contrib, and documentation installation complete. 即成功##注:pg13编译安装成功之后没有显示这两句话也是正常的。 6、创建 postgres 操作系统用户(也可创建其他的操作系统用户)useradd -u 2000 postgresecho postgres | passwd --stdin postgres 7、创建 pg 数据目录、日志目录以及归档目录mkdir -p /soft/pg14/{data6000,pg_log,archive6000,wal6000}chown -R postgres.postgres /soft/pg14 8、在所有节点配置 postgres 用户的环境变量su - postgrescat >>~/.bashrc<<EOFexport PGHOME=/soft/pg14/pgsqlexport PGDATA=/soft/pg14/data6000 export PGPORT=6000export PATH=\${PGHOME}/bin:\${PATH}export LD_LIBRARY_PATH=\${PGHOME}/lib:\${LD_LIBRARY_PATH}EOF# 重新读取环境变量source ~/.bashrc 或者.~/.bashrc# 创建软件安装目录软链ln -s /opt/pg10 /soft/pgsql 9、初始化数据库initdb -D /soft/pg14/data6000 -k --waldir=/soft/pg14/wal6000 --pwprompt 10、启动数据库pg_ctl start -l /tmp/logfile 安装后注意事项

依赖包的解决(配置yum 环境)

编译安装的用户选择(root 用户?postgres用户?其他操作系统用户?)

选择任何一个用户都可以的。如果使用 postgres 和普通用户编译安装,必须保证安装包对于普通用户具有读写权限(包括编译安装的目录—prefix中指定的目录)

初始化Initdb数据库的用户选择(root 用户?普通用户?)

源码编译使用普通用户进行初始化

root 用户初始化会报错

[root@server1 pg14]# bin/initdb -D /soft/pg14/data6000initdb: cannot be run as rootPlease log in(using, e.g.,"su")as the (unprivileged) user that willown the server process.

登录数据库

使用 postgres 操作系统用户初始化

psql

使用其他操作系统用户初始化:

psql -d postgres

以非 postgres 用户安装数据库后,使用 psql 直接无法登陆到数据库,因为仅使用psql会根据操作系统用户寻找操作系统用户对应的数据库。

任何操作系统用户安装数据后,数据库集簇中仅有一个数据库:postgres 数据库

小结

安装数据库的方式

yum 方式安装源码编译方式安装docker 方式安装二进制安装rpm 离线安装

来自 “ ITPUB博客 ” ,链接:http://blog.itpub-/70012788/viewspace-2851917/,如需转载,请注明出处,否则将追究法律责任。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:mysql如何查询表的大小
下一篇:oracle中v$sql_monitor如何监视正在运行的SQL语句的统计信息
相关文章

 发表评论

暂时没有评论,来抢沙发吧~