Ubuntu 16.04设置PostgreSQL开机启动的方法

由于PostgreSQL是编译安装的,需要设置开机启动。对于Ubuntu系统来说,和Red Hat之类的系统稍微有一点不一样。

首先第一步,由于我们习惯于使用Red Hat这样的系统,所以我们需要弄一个chkconfig出来。这个命令是配置Red Hat服务启动停止的命令,但是在Ubuntu上没有。我们可以使用sysv-rc-conf。

sudo apt install sysv-rc-conf

安装完成sysv-rc-conf之后,我们把他换成chkconfig。毕竟这个命令太难记住了。

sudo cp /usr/sbin/sysv-rc-conf /usr/sbin/chkconfig

接下来我们可以尝试使用chkconfig命令来查看

这个弄好之后,我们需要到PostgreSQL的安装压缩包的/postgresql-10.3/contrib/start-scripts目录下。目录下面有好几个系统的配置文件,我们这里使用的是Ununtu就选择linux,把这个文件复制到/etc/init.d/下面。并赋予可执行x权限。

postgres@postgres-N65S01:~/postgresql-10.3/contrib/start-scripts$ ls
freebsd linux macos osx
postgres@postgres-N65S01:~/sudo cp linux /etc/init.d/
postgres@postgres-N65S01:/etc/init.d$sudo mv linux postgresql-10.0
postgres@postgres-N65S01:/etc/init.d$chmod a+x postgresql-10.0

做完上述操作之后需要修改该文件,主要修改下列两个位置

prefix是postgreSQL安装目录,PGDATA是数据库文件所在目录。修改完成之后保存。执行下列命令,把服务设置成自动启动即可。

postgres@postgres-N65S01:/etc/init.d$ sudo chkconfig postgresql-10.0 on
postgres@postgres-N65S01:/etc/init.d$ sudo chkconfig --list | grep postgres
postgresql-1 2:on 3:on 4:on 5:on

再一次重启主机之后,可以发现postgreSQL数据库可以自动启动了。

postgres@postgres-N65S01:/etc/init.d$ ps -ef | grep pgdata
postgres 2460   1 0 19:19 ?    00:00:00 /opt/PostgreSQL-10/bin/postmaster -D /pgdata/data
postgres 4683 2853 0 19:43 pts/18  00:00:00 grep --color=auto pgdata

总结

以上所述是小编给大家介绍的Ubuntu 16.04设置PostgreSQL开机启动的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • Ubuntu18下安装Nvidia驱动解决黑屏并调整分辨率问题

    Ubuntu自带的显卡驱动Nouveau会与N卡冲突,导致卡机黑屏,而禁用后分辨率又过低 1.禁用Nouveau显卡驱动 在进入grub启动界面时,10秒内使用↑↓键选中Ubuntu,按e键进行编辑,在倒数第二行quiet slash后添加acpi_osi=linux nomodeset quiet slash acpi_osi=linux nomodeset 该方法只是暂时禁用Nouveau显卡驱动,在进入桌面后需要在grub的配置文件里面更改已使得其永久有效,在命令行中输入如下命令: $ s

  • Ubuntu16.04源码安装Mininet

    Mininet Mininet 是一个轻量级软件定义网络和测试平台:它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行相关的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow.OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机.链接和交换机在同一台计算机上且有助于互动开发.测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术:同时也可将此进程虚拟化的平台下代码迁移到真实的环境中. Mini

  • 开发环境Ubuntu16安装以后的初始化设置

    办公室需要ubuntu系统作为linux开发环境,目前大家用的多的是ubuntu16.04.所以这里也以ubuntu16.4作为办公开发环境来进行一些初始化. 打开命令行 ubuntu16.04版本 右键--打开终端 有的Ubuntu 14.04没有自带右键打开终端功能,用起来非常不方便.今天偶尔想起来,网上搜了一下,方法如下: $ sudo apt-get install nautilus-open-terminal 注销系统重新登录,即可. 设置root用户密码 ubuntu默认root密码

  • Ubuntu16.04.4LTS安装mininet遇到的问题及解决方案

    Mininet Mininet 是一个轻量级软件定义网络和测试平台:它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行相关的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow.OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机.链接和交换机在同一台计算机上且有助于互动开发.测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术:同时也可将此进程虚拟化的平台下代码迁移到真实的环境中. 下列图片

  • Ubuntu下VIM配置成C++开发编辑器

    1.复制配置文件到本用户环境下,再新建一个.vim文件夹,并创建bundle子文件夹 sudo cp /etc/vim/vimrc /home/wangy/.vimrc sudo mkdir /home/wangy/.vim sudo mkdir /home/wangy/.vim/bundle sudo mkdir /home/wangy/.vim/bundle/vundle bundle的配置文件如下: "新增的配置放在这里 set nocompatible " be iMprove

  • foreman ubuntu16 快速安装

    Quickstart Guide The Foreman installer is a collection of Puppet modules that installs everything required for a full working Foreman setup. It uses native OS packaging (e.g. RPM and .deb packages) and adds necessary configuration for the complete in

  • Ubuntu终端多窗口分屏Terminator

    1.安装 Terminator最大的特点就是可以在一个窗口中打开多个终端 sudo apt-get install terminator 2.快捷键 Ctrl+Shift+E    垂直分割窗口 Ctrl+Shift+O    水平分割窗口 F11               全屏 Ctrl+Shift+C    复制 Ctrl+Shift+V    粘贴 Ctrl+Shift+N    或者 Ctrl+Tab 在分割的各窗口之间切换 Ctrl+Shift+X    将分割的某一个窗口放大至全屏

  • 在Ubuntu Linux上安装和使用Git和GitHub

    Git的简介 Git是2005年Linus Torvalds 为了帮助管理 Linux(R) 内核开发而开发的一个开放源码的版本控制软件,正如所提供的文档中说的一样: Git 是一个快速.可扩展的分布式版本控制系统,它具有极为丰富的命令集,对内部系统提供了高级操作和完全访问. Github是一个存放着世界上最棒的一些软件项目的宝藏,这些软件项目由全世界的开发者无私贡献.这个看似简单,实则非常强大的平台因为大大帮助了那些对开发大规模软件感兴趣的开发者而被开源社区所称道. 这篇向导是对于安装和使用G

  • ubuntu16.04制作vim和python3的开发环境

    1. 安装vim: # apt-get install  -y vim-gnome 2. 安装ctags,ctags用于支持taglist # apt-get install ctags 3. 安装taglist # apt-get install vim-scripts vim-addon-manager # vim-addons install taglist 4. 安装pydiction 实现代码补全: #wget  https://www.vim.org/scripts/script.p

  • Ubuntu环境下使用G++编译CPP文件

    第一次用g++编译cpp文件的时候报了undefined reference的错误,自定义类中的函数全部都无法找到,查找资料后发现调用的类是需要链接的,本文以一个小例子描述编译的过程.其中class2类调用了class1类的成员函数,依赖于class1类,而test文件调用了class2类的成员函数,依赖于class1类. //class1.h #ifndef _CLASS1_H #define _CLASS1_H class class1 { public: int f(int i); };

  • Ubuntu中支持PHP5与PHP7双版本的简单实现

    前言 最近在编写一个工具的时候,使用了PHP命名空间特性,在命名空间中如果想引用常量.函数,需要PHP5.6以上的版本,但我阿里云 ECS 上安装的版本是PHP 5.5.9,由于 ECS 部署了很多PHP代码,如果贸然升级高版本PHP,可能会存在一些兼容性的问题.突然奇想,在同一个操作系统中,是否能够同时支持两个版本的PHP呢? 简单查阅了相关资料,其实在 Ubuntu 中使用包安装方式支持PHP双版本非常简单,两个版本存在能够互不干扰,接下去简单做下介绍,其实相关文章很多. 1:获取PHP7源

随机推荐