【问题标题】:postgresql could not properly start exited with active (exited)postgresql 无法正确启动退出活动(已退出)
【发布时间】:2018-05-31 13:16:58
【问题描述】:

我从digitalocean 安装了 posgresql,并在安装结束时在终端中打印以下命令

/usr/lib/postgresql/10/bin/pg_ctl -D /var/lib/postgresql/10/main -l logfile start

我尝试使用sudo root 用户运行它,也尝试切换到postgres 用户,但出现以下错误

等待服务器启动..../bin/sh: 1: 无法创建日志文件: 权限被拒绝停止等待 pg_ctl:无法启动服务器 但是当我检查状态时它说 ● postgresql.service - PostgreSQL RDBMS Loaded:已加载 (/lib/systemd/system/postgresql.service;已启用;供应商预设: 启用)活动:自 2018 年 5 月 31 日星期四 13:11:18 UTC 起活动(退出); 56 秒前 Main PID: 3698 (code=exited, status=0/SUCCESS) 任务:0(限制:2362)CGroup:/system.slice/postgresql.service

5 月 31 日 13:11:18 登台 systemd1:正在启动 PostgreSQL RDBMS... 5 月 31 13:11:18 staging systemd1: 启动 PostgreSQL RDBMS。

除了exited,状态没有运行。上面的命令是做什么的,我该如何运行它?以前的版本没遇到过

【问题讨论】:

    标签: postgresql ubuntu-16.04 postgresql-10


    【解决方案1】:

    这个想法是您提供实际的日志文件而不是 logfile,但我建议您在 postgresql.conf 中正确配置日志记录,并使用不带 -l 选项的 pg_ctl

    • logging_collector 设置为on
    • log_filename 设置为postgresql-%a.log
    • log_rotation_size 设置为0。
    • log_truncate_on_rotation 设置为on

    然后,您将在 PostgreSQL 数据目录的 log 子目录中获取日志文件,它们将每周轮换一次。

    【讨论】:

    • 但是这个命令的作用以及为什么 sudo 不起作用。是说在您提到的程序之后我不需要运行上述命令?
    • 您显然位于没有写入权限的目录中,因此出现错误消息。如果您按照我的建议配置日志记录,您仍然需要使用pg_ctl 启动服务器,但您不再需要使用-l 选项。
    猜你喜欢
    • 2017-11-13
    • 2014-02-05
    • 2020-08-23
    • 1970-01-01
    相关资源
    最近更新 更多