Postgresql 阿里云部署排雷

启动服务bug:

根据你的输出,可以看到 PostgreSQL 服务启动失败,并且显示以下错误消息:

```
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will own the server process.
```

这个错误是因为 PostgreSQL 不允许以 root 用户身份启动。为了解决这个问题,你需要以 PostgreSQL 数据库的拥有者身份启动服务。

你可以使用以下步骤来解决这个问题:

1. 使用 `su` 命令以 `postgres` 用户身份登录:

   ```bash
   su - postgres
   ```

   输入 `postgres` 用户的密码(如果有密码的话)。

2. 在 `postgres` 用户会话中,启动 PostgreSQL 服务:

   ```bash
   /data/pgsql/bin/pg_ctl start -D /data/pgsql -s -w -t 270
   ```

   这将以 `postgres` 用户的身份启动 PostgreSQL 服务。

3. 检查 PostgreSQL 服务的状态:

   ```bash
   systemctl status postgresql.service
   ```

   确保服务现在处于 "active" 状态,并且没有错误。

如果你希望 PostgreSQL 服务在系统启动时自动启动,你可以使用以下命令启用服务:

```bash
systemctl enable postgresql.service
```

解除PID文件占用

是的,你的理解是正确的。如果之前运行的 PostgreSQL 实例状态为 "active (exited)",那么它已经处于停止状态,但是由于存在锁文件(`postmaster.pid`),因此无法重新启动新的 PostgreSQL 服务。在这种情况下,你需要执行以下操作:

1. 停止已经运行的 PostgreSQL 实例("active (exited)"状态的实例)以释放锁文件。你可以使用以下命令来尝试停止它:

   ```bash
   /data/pgsql/bin/pg_ctl stop -D /data/pgsql/dbdata -s -m fast
   ```

   这将尝试快速停止 PostgreSQL 服务。如果服务已成功停止,你可以继续下一步。

2. 如果上述步骤无法正常停止 PostgreSQL 服务,你可以手动杀死正在运行的 `postmaster` 进程。首先,查找并记下 `postmaster` 进程的 PID(在这种情况下是 PID 29613),然后使用 `kill` 命令停止它:

   ```bash
   kill -TERM 29613
   ```

   这将发送一个终止信号给进程,使其正常退出。如果没有正常退出,你可以尝试使用 `kill -KILL 29613` 强制终止它。

3. 一旦确保没有正在运行的 PostgreSQL 服务,你可以再次尝试启动服务:

   ```bash
   /data/pgsql/bin/pg_ctl start -D /data/pgsql/dbdata -s -w -t 270
   ```

   如果一切正确,PostgreSQL 服务应该能够成功启动。

这些步骤应该解决了由于锁文件导致 PostgreSQL 无法启动的问题。如果你仍然遇到问题,请提供错误消息,以便我能够更进一步帮助你。

BUG Active: active (exited)

在SysV初始化脚本下,Active: active (exited) 表示服务已经成功启动,但它不会一直在后台运行,而是在完成启动操作后立即退出。这在SysV方式下是正常的行为,因为SysV脚本通常不会自动后台运行。

PgSQL集群部署

Service文件配成两个

1. 第一个文件 `postgresql.service` 似乎是一个元单元(meta unit)用于管理系统上的所有 PostgreSQL 集群。这个单元本身不执行实际的操作,而是用于管理多个 PostgreSQL 集群的单元 `postgresql@.service` 的元单元。这个文件的内容包括了 `Description`、`ExecStart`、`ExecReload` 等字段,但它的 `ExecStart` 和 `ExecReload` 都设置为 `/bin/true`,这意味着它们不执行实际的操作。

2. 第二个文件是一个模板文件,用于启动和管理 PostgreSQL 集群的单元。它以 `postgresql@%i` 的形式命名,其中 `%i` 是一个变量,表示 PostgreSQL 集群的名称(例如,`9.3-main`)。这个文件包括了 `Description`、`AssertPathExists`、`RequiresMountsFor` 等字段,它定义了如何启动、停止和重新加载 PostgreSQL 集群。

第二个文件是用于管理 PostgreSQL 集群的 systemd 服务单元文件,而第一个文件是元单元,用于管理所有 PostgreSQL 集群的统一状态。

要启动或停止特定的 PostgreSQL 集群,使用 `systemctl` 命令,并指定要操作的单元名称,例如:

- 启动 PostgreSQL 集群:`sudo systemctl start postgresql@9.3-main`
- 停止 PostgreSQL 集群:`sudo systemctl stop postgresql@9.3-main`
- 重新加载 PostgreSQL 集群配置:`sudo systemctl reload postgresql@9.3-main`
- 查看 PostgreSQL 集群状态:`sudo systemctl status postgresql@9.3-main`

请注意,将上述命令中的 `9.3-main` 替换为你实际使用的 PostgreSQL 集群名称。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/68303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海康威视二次开发适配安卓电视盒子

收到一个需求,需要在安卓电视盒子上适配海康威视摄像头视频: 1.类似电视家app界面,左边滑动菜单显示通道列表、设置按钮,遥控器呼出菜单。 2.遥控器操作:切换视频通道、云台上下左右控制、缩放等。 3.服务器域名、用…

React 18 迁移状态逻辑至 Reducer 中

参考文章 迁移状态逻辑至 Reducer 中 对于拥有许多状态更新逻辑的组件来说,过于分散的事件处理程序可能会令人不知所措。对于这种情况,可以将组件的所有状态更新逻辑整合到一个外部函数中,这个函数叫作 reducer。 使用 reducer 整合状态逻…

FPGA输出lvds信号点亮液晶屏

1 概述 该方案用于生成RGB信号,通过lvds接口驱动逻辑输出,点亮并驱动BP101WX-206液晶屏幕。 参考:下面为参考文章,内容非常详细。Xilinx LVDS Output——原语调用_vivado原语_ShareWow丶的博客http://t.csdn.cn/Zy37p 2 功能描述 …

RabbitMQ的安装和配置

将RabbitMQ文件夹传到linux根目录 开启管理界面及配置

【VSCode】文件模板创建及使用.md

背景 最近使用VSCode学习Vue项目比较频繁,每次创建Vue文件都要手动写重复代码,特别麻烦,就上网查找自动生成代码的说明,结果发现VSCode有代码模板,怪怪,感觉发现新大陆了(low!)。 配置 打开配置 方式一&a…

手机电脑scoket通信 手机软件 APP inventor 服务端程序python

python scoket 通信 再帮助同学坐课题的时候接触到了scoket通信,了解到这应该是基层网络通信的原理,于是就导出搜索了一下相关的资料,简单来说scoket通信就是,可以让不同设备在同一个网络环境的条件下,可以实现相互通…

ubuntu20.04+ROS noetic在线运行单USB双目ORB_SLAM

双目摄像头主要有以下几种,各有优缺点。 1.单USB插口,左右图像单独输出2.双USB插口,左右图像单独输出(可能存在同步性问题)3.双USB插口,左右图像合成输出4.单USB插口,左右图像合成输出 官方版…

[SSM]MyBatisPlus进阶

三、进阶篇 3.1映射 3.1.1自动映射规则 表名和实体类名映射 -> 表名user 实体类名User字段名和实体类属性名映射 -> 字段名name 实体类属性名name字段名下划线命名方式和实体类属性驼峰命名方式映射 -> 字段名 user_email 实体类属性名 userEmail 开启驼峰命名 m…

【Unity3D赛车游戏优化篇】【九】Unity中如何让汽车丝滑漂移?

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:Uni…

Go语言传参

为了让新手尽快熟悉go的使用,特记录此文,不必谢我,转载请注明! Go 语言中参数传递的各种效果,主要内容包括: 传值效果指针传递结构体传递map 传递channel 传递切片传递错误传递传递效果示例传递方式选择原文连接:https://mp.weixin.qq.com/s?__biz=MzA5Mzk4Njk1OA==&…

CocosCreator3.8研究笔记(三)CocosCreator 项目结构说明及编辑器的简单使用

我们通过Dashboard 创建一个2d项目,来演示CocosCreator 的项目结构。 等待创建完成后,会得到以下项目工程: 一、assets文件夹 assets文件夹:为资源目录,用来存储所有的本地资源,如各种图片,脚本…

webpack(三)loader

定义 loader用于对模块的源代码进行转换,在imporrt或加载模块时预处理文件 webpack做的事情,仅仅是分析出各种模块的依赖关系,然后形成资源列表,最终打包生成到指定文件中。 在webpack内部,任何文件都是模块&#x…

健康舒适的超满意照明体验!SUKER书客SKY护眼台灯测评

健康舒适的超满意照明体验!SUKER书客SKY护眼台灯测评 2022年全国儿童青少年总体近视率为53.6%,其中6岁儿童为14.5%,小学生为36%,初中生为71.6%,高中生为81%,近视已成为当下人们遇到的比较普遍的眼健康问题…

qt连接tcp通信和连接数据库

通过数据库实现学生管理系统 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//判断数据库对象是否包含了自己使用的数据库 Studemt.dbif(!db.co…

线性表之-单向链表(无头)

目录 什么是单向链表 顺序表和链表的区别和联系 顺序表: 链表: 链表表示(单项)和实现 1.1 链表的概念及结构 1.2单链表(无头)的实现 所用文件 将有以下功能: 链表定义 创建新链表元素 尾插 头插 尾删 头删 查找-给一个节点的…

没有软件怎么管理固定资产

在当今数字化的世界中,我们已经习惯了使用各种软件来管理我们的日常生活和工作。然而,当我们面临一个看似简单的问题——如何管理固定资产时,我们可能会感到困惑。那么,如果没有软件,我们该如何进行资产管理呢&#xf…

cmd命令行设置 windows 设置环境变量

cmd命令行设置 windows 设置环境变量 参考 51CTO博客 设置用户级别的环境变量 :: 设置新参数 JAVA_HOME1 setx JAVA_HOME1 "c:\test"; exit; echo "%JAVA_HOME1%";:: 追加参数内容 JAVA_HOME1 setx JAVA_HOME1 "%JAVA_HOME1%;c:\test2\;"; exi…

ClickHouse配置Hdfs存储数据

文章目录 背景配置单机配置HA高可用Hdfs集群性能测试统计trait最多的10个trait term统计性状xxx minValue > 500 0000的数量结论 参考文档 背景 由于公司初始使用Hadoop这一套,所以希望ClickHouse也能使用Hdfs作为存储 看了下ClickHouse的文档,拿Hdf…

【核心复现】基于改进灰狼算法的并网交流微电网经济优化调度(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

无涯教程-Flutter - 简介

Flutter是一个由谷歌开发的开源移动应用软件开发工具包,用于为Android、iOS、 Windows、Mac、Linux、Google Fuchsia开发应用。 通常,创建移动应用程序是一个非常复杂和具有挑战性的任务。有许多框架可用,它提供了开发移动应用程序的出色函数…