当前位置:   article > 正文

linux里systemctl找不到postgres对应的服务就这么解决_systemctl命令找不到

systemctl命令找不到

>>情况描述


使用源码包编译安装的postgres数据库,可以通过命令启动和停止,但是使用systemctl查看的时候没有发现postgres.service的服务


>>发生原因:


源码安装时,postgresql数据库并没有像其他软件包一样注册为系统服务


>>如何解决


1.手动创建一个systemd服务文件来管理psql服务

  1. vim /etc/systemd/system/postgresql.service
  2. 填入下面的内容
  3. [Unit]
  4. Description=PostgreSQL database server
  5. After=network.target
  6. [Service]
  7. Type=forking
  8. User=postgres
  9. ExecStart=/opt/tidb-deploy/pgdir/pgsql/bin/pg_ctl start -D /opt/tidb-data/pgdata -l /opt/tidb-data/pgdata/logfile
  10. ExecStop=/opt/tidb-deploy/pgdir/pgsql/bin/pg_ctl stop -D /opt/tidb-data/pgdata -l /opt/tidb-data/pgdata/logfile
  11. [Install]
  12. WantedBy=multi-user.target


注意: 根据自己安装的数据库目录配置  最后-l的是日志文件可以放在任何地方

2.运行以下命令使systemd加载新的服务文件:

systemctl daemon-reload

3.启停PostgreSQL数据库服务:
 

现在就可以使用systemctl找到服务名了

这里注意使用服务启停之前,先用pg_ctl stop 停止数据库,在使用命令 ”systemctl start 服务名 ”来启动数据库服务

因为使用pg_ctl start 启动的服务,刚配置完成后使用systemctl stop 服务,有可能后台没有停止,要先用命令停止,之后再用systemctl启停

  1. systemctl stop postgresql
  2. systemctl start postgresql

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/664243
推荐阅读
相关标签
  

闽ICP备14008679号