Rumah pangkalan data tutorial mysql 循序渐进PostgreSQL:实现PostgreSQL自启动

循序渐进PostgreSQL:实现PostgreSQL自启动

Jun 07, 2016 pm 02:53 PM
pos postgresql mulakan capai

循序渐进PostgreSQL:实现PostgreSQL自启动 在手动安装(针对源码编译PG或者是解压缩版安装PG的情形)情况下,PG并不是在开机的情况下自动启动,在关机的情况下自动停止,作为DBA人员来说,显然这样的情形是无法接受的。 www.2cto.com 1. windows下的服务自启

循序渐进PostgreSQL:实现PostgreSQL自启动

 

在手动安装(针对源码编译PG或者是解压缩版安装PG的情形)情况下,PG并不是在开机的情况下自动启动,在关机的情况下自动停止,作为DBA人员来说,显然这样的情形是无法接受的。

  www.2cto.com  

1. windows下的服务自启动

 

在Windows下, 可以使用pg_ctl命令生成PostgreSQL服务,并让它自启动。实际上,安装版本也是这么做的。  我们不妨看看pg_ctl命令的详细帮助先:

D:\pg921>pg_ctl --help  

pg_ctl is a utility to initialize, start, stop, or control a PostgreSQL server.  

  

Usage:  

  pg_ctl init[db]               [-D DATADIR] [-s] [-o "OPTIONS"]  

  pg_ctl start   [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS"]  

  pg_ctl stop    [-W] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]  

  pg_ctl restart [-w] [-t SECS] [-D DATADIR] [-s] [-m SHUTDOWN-MODE]  

                 [-o "OPTIONS"]  

  pg_ctl reload  [-D DATADIR] [-s]  

  pg_ctl status  [-D DATADIR]  

  pg_ctl promote [-D DATADIR] [-s]  

  pg_ctl kill    SIGNALNAME PID  

 pg_ctl register   [-N SERVICENAME] [-U USERNAME] [-P PASSWORD] [-D DATADIR]  

                    [-S START-TYPE] [-w] [-t SECS] [-o "OPTIONS"]  

  pg_ctl unregister [-N SERVICENAME]  

  

Common options:  

  -D, --pgdata=DATADIR   location of the database storage area  

  -s, --silent           only print errors, no informational messages  

  -t, --timeout=SECS     seconds to wait when using -w option  

  -V, --version          output version information, then exit  

  -w                     wait until operation completes  

  -W                     do not wait until operation completes  

  -?, --help             show this help, then exit  

(The default is to wait for shutdown, but not for start or restart.)  

  

If the -D option is omitted, the environment variable PGDATA is used.  

  

Options for start or restart:  

  -c, --core-files       not applicable on this platform  

  -l, --log=FILENAME     write (or append) server log to FILENAME  

  -o OPTIONS             command line options to pass to postgres  

                         (PostgreSQL server executable) or initdb  

  -p PATH-TO-POSTGRES    normally not necessary  

  

Options for stop or restart:  

  -m, --mode=MODE        MODE can be "smart", "fast", or "immediate"  

  

Shutdown modes are:  

  smart       quit after all clients have disconnected  

  fast        quit directly, with proper shutdown  

  immediate   quit without complete shutdown; will lead to recovery on restart  

  

Allowed signal names for kill:  

  ABRT HUP INT QUIT TERM USR1 USR2  

  

Options for register and unregister:  

  -N SERVICENAME  service name with which to register PostgreSQL server  

  -P PASSWORD     password of account to register PostgreSQL server  

  -U USERNAME     user name of account to register PostgreSQL server  

  -S START-TYPE   service start type to register PostgreSQL server  

  

Start types are:  

  auto       start service automatically during system startup (default)  

  demand     start service on demand  

  

Report bugs to .  

从上边可以看出,pg_ctl register用于生成服务,而pg_ctl unregister -N 用于删除一个服务。

如:

D:\pg921>pg_ctl register -N pg921 -D d:\pg921\data -S auto -w -t 10  -l d:/pg921/log/pg921.log -o "-p 5433"

此命令,即是要生成一个服务:pg921, 启动方式: -S auto, 自启动,如果想生成手动启动,就用-S demand来指定。

-t 10,意指等待10秒钟, 实际上可以设定的长一些(在生产环境中). 

-l d:/pg921/log/pg921.log, 指定生成的日志文件的位置。

-o "-p 5433", 将服务端口号改为5433。

验证一下上述命令生成的效果:

D:\pg921>net start pg921  

The pg921 service is starting.  

The pg921 service was started successfully.  

  

  

D:\pg921>psql -p 5433 iihero  

psql (9.2.1)  

Type "help" for help.  

  

iihero=# \q  

 

2. Linux下的服务自启动

 

在Linux下,我们需要写一个自启动的脚本,至少支持两个命令选项: start 和 stop,并将这个脚本建立适当的链接。我们就以Ubuntu10为例,

先看看系统有没有chkconfig命令工具:  www.2cto.com  

xionghe@seanlinux2:~$ chkconfig

程序“chkconfig”尚未安装。  您可以使用以下命令安装:

sudo apt-get install chkconfig

xionghe@seanlinux2:~$ sudo apt-get install chkconfig

脚本内容如下: 放入目录/etc/init.d目录下边

#! /bin/sh  

  

# Installation prefix  

prefix=/home/xionghe/pgsql  

  

# Data directory  

PGDATA="/home/xionghe/pgsql/data"  

  

# Who to run the postmaster as, usually "postgres".  (NOT "root")  

PGUSER=xionghe  

  

# Where to keep a log file  

PGLOG="$PGDATA/serverlog"  

  

# It's often a good idea to protect the postmaster from being killed by the  

# OOM killer (which will tend to preferentially kill the postmaster because  

# of the way it accounts for shared memory).  Setting the OOM_ADJ value to  

# -17 will disable OOM kill altogether.  If you enable this, you probably want  

# to compile PostgreSQL with "-DLINUX_OOM_ADJ=0", so that individual backends  

# can still be killed by the OOM killer.  

#OOM_ADJ=-17  

  

## STOP EDITING HERE  

  

# The path that is to be used for the script  

PATH=/home/xionghe/pgsql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin  

  

# What to use to start up the postmaster.  (If you want the script to wait  

# until the server has started, you could use "pg_ctl start -w" here.  

# But without -w, pg_ctl adds no value.)  

DAEMON="$prefix/bin/postmaster"  

  

# What to use to shut down the postmaster  

PGCTL="$prefix/bin/pg_ctl"  

  

set -e  

  

# Only start if we can find the postmaster.  

test -x $DAEMON ||  

{  

    echo "$DAEMON not found"  

    if [ "$1" = "stop" ]  

    then exit 0  

    else exit 5  

    fi  

}  

  

  

# Parse command line parameters.  

case $1 in  

  start)  

    echo -n "Starting PostgreSQL: "  

    test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj  

    su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1  

    echo "ok"  

    ;;  

  stop)  

    echo -n "Stopping PostgreSQL: "  

    su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast"  

    echo "ok"  

    ;;  

  restart)  

    echo -n "Restarting PostgreSQL: "  

    su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w"  

    test x"$OOM_ADJ" != x && echo "$OOM_ADJ" > /proc/self/oom_adj  

    su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1  

    echo "ok"  

    ;;  

  reload)  

        echo -n "Reload PostgreSQL: "  

        su - $PGUSER -c "$PGCTL reload -D '$PGDATA' -s"  

        echo "ok"  

        ;;  

  status)  

    su - $PGUSER -c "$PGCTL status -D '$PGDATA'"  

    ;;  

  *)  

    # Print help  

    echo "Usage: $0 {start|stop|restart|reload|status}" 1>&2  

    exit 1  

    ;;  

esac  

  

exit 0  

 

建立相应链接:

 

root@seanlinux2:/etc# ln -s /etc/init.d/postgresql /etc/rc0.d/K02postgresql

root@seanlinux2:/etc# ln -s /etc/init.d/postgresql /etc/rc1.d/K02postgresql

root@seanlinux2:/etc# ln -s /etc/init.d/postgresql /etc/rc2.d/K02postgresql

root@seanlinux2:/etc# ln -s /etc/init.d/postgresql /etc/rc3.d/K98postgresql

root@seanlinux2:/etc# ln -s /etc/init.d/postgresql /etc/rc4.d/K98postgresql

root@seanlinux2:/etc# ln -s /etc/init.d/postgresql /etc/rc5.d/K98postgresql

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika wps tidak dapat memulakan aplikasi sumber objek ini? Apakah yang perlu saya lakukan jika wps tidak dapat memulakan aplikasi sumber objek ini? Mar 13, 2024 pm 09:13 PM

WPS ialah perisian pejabat yang digunakan secara meluas, termasuk dokumen, borang dan PPT, serta menyokong penyegerakan berbilang terminal. Jika gesaan "Aplikasi sumber untuk objek ini tidak boleh dilancarkan" muncul semasa mengedit wps, bagaimana untuk menyelesaikannya? Masalah ini mungkin berlaku kerana anda cuba membuka pautan atau fail, tetapi aplikasi sumbernya tidak lagi wujud atau telah dipadamkan. Berikut ialah beberapa pembetulan: 1. Pasang semula perisian WPS: Cuba pasang semula WPSOffice untuk menyelesaikan masalah dan pastikan anda menggunakan versi terkini. 2. Tukar program lalai secara manual: Cuba tukar program lalai kepada WPS Anda boleh klik kanan fail yang ingin anda buka, pilih "Buka dengan", dan kemudian

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Mar 24, 2024 am 11:27 AM

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Dengan kebangkitan media sosial, WeChat telah menjadi salah satu alat komunikasi yang sangat diperlukan dalam kehidupan seharian orang ramai. Walau bagaimanapun, ramai orang mungkin menghadapi masalah: log masuk ke beberapa akaun WeChat pada masa yang sama pada telefon mudah alih yang sama. Bagi pengguna telefon mudah alih Huawei, tidak sukar untuk mencapai log masuk WeChat dwi Artikel ini akan memperkenalkan cara mencapai log masuk WeChat dwi pada telefon mudah alih Huawei. Pertama sekali, sistem EMUI yang disertakan dengan telefon mudah alih Huawei menyediakan fungsi yang sangat mudah - pembukaan dua aplikasi. Melalui fungsi pembukaan dwi aplikasi, pengguna boleh serentak

Mana satu untuk dipilih semasa memulakan mesin kertas dinding? Mana satu untuk dipilih semasa memulakan mesin kertas dinding? Mar 19, 2024 am 08:49 AM

Apabila enjin kertas dinding dimulakan, terdapat 4 pilihan berbeza Ramai pengguna tidak tahu yang mana satu untuk dipilih semasa memulakan enjin kertas dinding Secara amnya, apabila enjin kertas dinding dimulakan, pilih yang pertama: mulakan 32-bit. Mana satu untuk dipilih semasa memulakan mesin kertas dinding? 1. Secara amnya, apabila enjin kertas dinding dimulakan, pilih yang pertama: mulakan 32-bit. 2. Apabila enjin kertas dinding dimulakan, terdapat 4 pilihan berbeza: mulakan 32-bit; 3. Mulakan 32-bit: Ini adalah pilihan umum yang disyorkan dan sesuai untuk kebanyakan pengguna. 4. Mulakan 64-bit: Jika sistem menyokong 64-bit, anda boleh memilih pilihan ini

Bagaimana untuk menetapkan keutamaan but sistem dwi Apple Bagaimana untuk menetapkan keutamaan but sistem dwi Apple Feb 19, 2024 pm 06:49 PM

Apabila teknologi terus berkembang, keperluan untuk menggunakan sistem pengendalian yang berbeza menjadi semakin biasa. Bagi pengguna Apple, kadangkala anda mungkin perlu memasang dan menggunakan dua sistem pengendalian berbeza pada satu peranti, seperti macOS dan Windows. Dalam kes ini, adalah amat penting untuk menetapkan urutan permulaan sistem dwi. Artikel ini akan memperkenalkan cara menyediakan peranti Apple untuk memulakan sistem dwi terlebih dahulu apabila menghidupkan peranti. Pertama, kita perlu memastikan bahawa kedua-dua sistem pengendalian telah berjaya dipasang pada peranti Apple. Anda boleh menggunakan BootCamp Apple ini

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Mar 24, 2024 pm 06:03 PM

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Dengan populariti perisian sosial dan penekanan yang semakin meningkat terhadap privasi dan keselamatan orang ramai, fungsi klon WeChat telah beransur-ansur menjadi tumpuan perhatian. Fungsi klon WeChat boleh membantu pengguna log masuk ke berbilang akaun WeChat pada telefon mudah alih yang sama pada masa yang sama, menjadikannya lebih mudah untuk diurus dan digunakan. Tidak sukar untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Anda hanya perlu mengikuti langkah berikut. Langkah 1: Pastikan versi sistem telefon mudah alih dan versi WeChat memenuhi keperluan Pertama, pastikan versi sistem telefon mudah alih Huawei anda telah dikemas kini kepada versi terkini, serta Apl WeChat.

Panduan Pengaturcaraan PHP: Kaedah untuk Melaksanakan Jujukan Fibonacci Panduan Pengaturcaraan PHP: Kaedah untuk Melaksanakan Jujukan Fibonacci Mar 20, 2024 pm 04:54 PM

Bahasa pengaturcaraan PHP ialah alat yang berkuasa untuk pembangunan web, yang mampu menyokong pelbagai logik dan algoritma pengaturcaraan yang berbeza. Antaranya, melaksanakan jujukan Fibonacci adalah masalah pengaturcaraan biasa dan klasik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan jujukan Fibonacci, dan melampirkan contoh kod tertentu. Jujukan Fibonacci ialah jujukan matematik yang ditakrifkan seperti berikut: unsur pertama dan kedua bagi jujukan ialah 1, dan bermula dari unsur ketiga, nilai setiap unsur adalah sama dengan jumlah dua unsur sebelumnya. Beberapa elemen pertama urutan

Kuasai cara Golang mendayakan kemungkinan pembangunan permainan Kuasai cara Golang mendayakan kemungkinan pembangunan permainan Mar 16, 2024 pm 12:57 PM

Dalam bidang pembangunan perisian hari ini, Golang (bahasa Go), sebagai bahasa pengaturcaraan yang cekap, ringkas dan sangat bersesuaian, semakin digemari oleh pembangun. Perpustakaan standardnya yang kaya dan ciri-ciri konkurensi yang cekap menjadikannya pilihan berprofil tinggi dalam bidang pembangunan permainan. Artikel ini akan meneroka cara menggunakan Golang untuk pembangunan permainan dan menunjukkan kemungkinan besarnya melalui contoh kod tertentu. 1. Kelebihan Golang dalam pembangunan permainan Sebagai bahasa yang ditaip secara statik, Golang digunakan dalam membina sistem permainan berskala besar.

Panduan Pelaksanaan Keperluan Permainan PHP Panduan Pelaksanaan Keperluan Permainan PHP Mar 11, 2024 am 08:45 AM

Panduan Pelaksanaan Keperluan Permainan PHP Dengan populariti dan perkembangan Internet, pasaran permainan web menjadi semakin popular. Ramai pembangun berharap untuk menggunakan bahasa PHP untuk membangunkan permainan web mereka sendiri, dan melaksanakan keperluan permainan adalah langkah utama. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk melaksanakan keperluan permainan biasa dan menyediakan contoh kod khusus. 1. Cipta watak permainan Dalam permainan web, watak permainan adalah elemen yang sangat penting. Kita perlu mentakrifkan atribut watak permainan, seperti nama, tahap, nilai pengalaman, dll., dan menyediakan kaedah untuk mengendalikannya

See all articles