【Postgresql】CenterOs 7.9 Postgresql-14 数据库 安装和配置

让我告诉你我在 CentOS 7 .9 上安装 PostgreSQL 1 4 的经历。
那时候系统更新很快,数据库也得维护。

首先,您需要添加RPM源。
我记得那是2 01 4 年,当时公司的服务器都是旧的CentOS7 ,安装新软件必须自己找来源。
访问官方网站,找到安装脚本,按照它进行到底,然后添加即可。
不要在这一步绞尽脑汁,如果你犯了错误,你就必须重新开始。

安装软件包时,使用YUM命令。
我当时安装的是postgresql1 4 包,加上-y,避免不断确认,效率很高。
输入命令,等待它慢慢加载,不要不耐烦。
安装后,使用rpm -qa | grep postgresql 检查是否已安装。

然后,让它在启动后自行运行。
使用systemctl启用postgresql1 4 ,然后使用systemctl启动postgresql1 4 这一步很重要,不然就得手动启动,很麻烦。
我尝试过但忘记激活它。
我一重新启动,数据库就消失了,我差点被惊死。

接下来,您应该看看它是否可以工作。
systemctl status postgresql1 4 ,检查状态是否为运行。
如果是这样,好的,继续下一步。

远程访问,这是关键。
您需要更改位于 /var/lib/pgsql/data/ 目录中的 pg_hba.conf。
当我做项目时,我需要让隔壁办公室的朋友使用他的电脑连接数据库,所以我在其中添加了一行,例如1 9 2 .1 6 8 .1 .1 00/3 2 md5 ,这意味着从该IP地址连接并使用md5 身份验证。
保存更改后,不要忘记重新启动 systemctl postgresql1 4 以使更改生效。

再次编辑postgresql.conf,将listen_addresses设置为'',表示所有IP都可以连接。
我有一个客户端在执行此操作时删除了 localhost。
结果本地无法连接,满头大汗。
保存更改并重新启动服务。

最后,尝试连接到 Navicat。
找到一个工具,填写IP、端口、用户名和密码。
如果您可以通过操作进行连接,那么您就可以开始了。
我这里有一位老客户,使用Navicat。
界面美观且易于使用。

卸载?简单的。
yum remove postgresql1 4 -y,然后手动删除data目录,该目录在/var/lib/pgsql/data/,使用rm -rf /var/lib/pgsql/data/,注意不要误删。

安装源代码?我没做过,不敢乱说。
我比较胆小,所以喜欢用现成的RPM包来省去麻烦。
如果一定要说的话,先安装构建工具,然后下载源代码,配置,make,安装,最后初始化initdb。
它非常重,容易出错,不适合初学者。

一般情况下,我建议使用 RPM 安装。
很方便,所有依赖都解决了,安装后就可以使用了。
适合快速启动项目。
在我这十几年所经历的陷阱中,安装软件包时最可怕的就是依赖问题。
使用官方的RPM包通常可以解决。

使用 Docker 在 Windows、Mac 和 Linux 系统轻松部署 PostgreSQL 数据库

兄弟,我们来谈谈 Docker。
前几天在Windows上玩一个大型游戏,部署了一个PostgreSQL数据库。
这几乎就像在玩一样。
我们来谈谈这个吧。

我记得那是 2 02 0 年,我在家里的 Windows 1 0 电脑上使用 Docker Desktop 做了一个大动作。
首先,你需要 DockerDesktop。
要下载这个东西,需要到官网下载。
链接为:【Docker官方网站】(https://www.docker.com/)。
然后双击安装包,按照提示,一会儿就安装好了。
但有一个陷阱,你必须记住打开“魔法”(网络代理),否则图像的下载会非常慢。

安装后,我需要先配置PostgreSQL容器。
我在命令提示符中输入了一个命令,如下所示: docker run --name postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5 4 3 2 :5 4 3 2 -d postgres.在这个命令中,--name postgres是给容器命名,-e POSTGRES_PASSWORD=mysecretpassword是设置数据库密码。
你应该将其更改为一个强密码,不要使用我的简单密码。
-p 5 4 3 2 :5 4 3 2 是映射的端口,允许外界访问这个数据库。
最后,-d 允许 postgres 容器在后台运行。

容器启动时,我在命令行使用docker ps查看状态,然后进入容器并连接数据库。
命令是这样的:docker exec -it postgres psql -U postgres。
这里 - 是交互式连接,psql是PostgreSQL命令行工具,-U postgres是用PostgreSQL用户登录。

这在 Mac 上的操作方式相同,只需在终端中输入相同的命令即可完成。

我没有亲自在Linux上实践过,但是看官方文档,过程并没有太大的不同。
关键是安装 Docker 引擎,然后运行类似的命令。

回到坑里,主要遇到两个问题。
一是容器启动失败。
那时我检查了端口,发现它很忙。
连接数据库时也出现错误。
我需要确认密码是否正确并检查防火墙设置。

关于图片下载慢的问题,我换了国内的图片源,比如阿里云,所以下载速度快了很多。

这件事的总结是,Docker确实方便部署PostgreSQL数据库,也方便跨平台,但是需要考虑到备份和数据卷的管理。
在生产环境中,我通常使用docker-compose来管理多容器服务,比较稳定。

如果有什么不明白的地方,请随时问我。