PostgreSQL中pg_ctl工具的使用

news/2024/7/9 22:04:50 标签: postgresql, 数据库, pg_ctl工具

pg_ctl工具有以下功能:

(1)初始化postgresql数据库实例

(2)启动、终止或重启postgresql数据库服务

(3)查看postgresql数据库服务的状态

(4)让数据库实例重新读取配置文件

(5)允许给一个指定的进程发送信号

(6)在Windows平台下允许为数据库实例注册或取消一个系统服务

## 初始化数据库实例
--语法
pg_ctl init[db] [-s] [-D datadir] [-o options]

--各参数说明
-s:只打印错误和警告信息,不打印提示性信息。
-D datadir:指定数据库实例的数据目录。
-o options:直接传递给initdb命令的参数,具体可见initdb命令的帮助信息。

--命令示例
pg_ctl init -D /home/osdba/pgdata

## 启动数据库
--语法
pg_ctl start [-w] [-t seconds] [-s] [-D datadir] [-lfilename] [-o options] [-p path] [-c]

--各参数说明
start:启动数据库实例。
-w:等待启动完成。
-t:等待启动完成的等待秒数,默认为60秒。
-s:只打印错误和警告信息,不打印提示性信息。
-D datadir:指定数据库实例的数据目录。
-l:把服务器日志输出附加在filename文件上,如果该文件不存在则自动创建。
-o options:声明要直接传递给postgres的选项,具体可见postgres命令的帮助信息。
-p path:指定postgres可执行文件的位置。默认postgres可执行文件来自与pg_ctl相同的目录,不必使用该选项,除非进行一些特殊的操作,或者产生postgres执行文件找不到的错误。
-c:提高服务器的软限制(ulimit -c),尝试允许数据库实例在发生某些异常时产生一个coredump文件,以便进行问题定位和故障分析。

--命令示例
pg_ctl start -w -D /home/osdba/pgdata

## 停止数据库
--语法
pg_ctl stop [-W] [-t seconds] [-s] [-D datadir] [-ms[mart] | f[ast] | i[mmediate] ]

--各参数说明
-W:不等待数据库停止,就返回命令。
-m:指定停止的模式。
未说明参数的含义与启动数据库命令中的相应参数含义相同。

--命令示例
pg_ctl stop -D /home/osdba/pgdata -m f

## 重启数据库
--语法
pg_ctl restart [-w] [-t seconds] [-s] [-D datadir] [-c] [-m s[mart] | f[ast] | i[mmediate] ] [-o options]

--各参数说明
此命令中的参数与启动或停止命令中的相应参数含义相同。

--命令示例
pg_ctl restart -D /home/osdba/pgdata

## 数据库实例重新读取配置文件(pg_hba.conf)
pg_ctl reload [-s] [-D datadir]

pg_ctl reload
或
pg_ctl reload -D /home/osdba/pgdata

## 查询数据库状态
pg_ctl status
或
pg_ctl status -D /home/osdba/pgdata

## 给指定进程发送信号(在Windows平台比较有用,因为没有kill命令)
pg_ctl kill [signal_name] [process_id]

举例说明针对Windows平台下的PostgreSQL数据库的,在使用psql连接到数据库时,运行“select pg_sleep(600)”命令,然后在操作系统的另一个窗口下用“pg_ctl kill”命令中断前一个窗口中正在执行的命令。

## 查询连接对应的后台数据库服务进程号
postgres=# select pg_backend_pid();
pg_backend_pid
----------------
3900
(1 行记录)

## 然后执行以下命令
select pg_sleep(600);

## 向此后台数据库服务进程发送kill信号,取消执行上面的SQL命令
pg_ctl kill INT 3900

## psql会显示以下输出
postgres=# select pg_sleep(600);
ERROR:  canceling statement due to user request

上面的示例说明向进程发送的INT信号把正在执行的SQL命令取消了。

一般都使用函数 pg_cancel_backend(pid int) 来实现上述功能。

## Windows平台注册和取消服务的命令
--语法
pg_ctl register [-N servicename] [-U username] [-P password] [-D datadir] [-w] [-t seconds] [-o options]
pg_ctl unregister [-N servicename]

--参数说明
-N servicename:要注册的系统服务的名称。此名称将用作服务名和显示s。
-P password:用户启动服务的密码。
-U:用于启动服务的用户名。如果是域用户,需要使用 DOMAIN\username 格式。

--命令示例
删除服务:
pg_ctl unregister -N postgresql-9.2

注册服务:
pg_ctl register -D "C:\Program Files\PostgreSQL\9.2\data"

http://www.niftyadmin.cn/n/5186601.html

相关文章

js的File对象,Blob和file相互转换

示例 <!DOCTYPE html> <html><head><meta charset"utf-8" /><meta name"viewport" content"widthdevice-width, initial-scale1" /><title>js的File对象&#xff0c;Blob和file相互转换</title><…

被保留的IP地址:潜在用途和管理策略

在互联网的底层&#xff0c;存在一些特定范围的IP地址被保留&#xff0c;不分配给特定的设备或组织。这些被保留的IP地址有着特殊的用途&#xff0c;涉及网络通信、安全性和私有网络等方面。本文将深入探讨被保留的IP地址的潜在用途以及管理策略。 1. 被保留的IP地址范围 被保留…

Excel vlookup 如何使用

Excel vlookup 如何使用 打开WX, 搜索 “程序员奇点” Excel vlookup可以说是利器&#xff0c;非常好用的工具&#xff0c;用来查询 Excel 或者进行数据匹配&#xff0c;十分方便。 VLookuP 如何使用&#xff0c;不常用的同学经常容易忘记&#xff0c;这次做个记录&#xff…

Mallab勒索病毒的最新威胁:如何恢复您的数据?

尊敬的读者&#xff1a; .mallab勒索病毒是一种极具威胁性的勒索软件&#xff0c;以其加密用户文件并要求支付赎金的手段而臭名昭著。在面对被勒索病毒攻击导致的数据文件加密问题时&#xff0c;技术支持显得尤为重要&#xff0c;您可添加我们技术服务号&#xff08;shuju315&…

数字档案室建设评价

数字档案室建设评价应考虑以下几个方面&#xff1a; 1. 安全性&#xff1a;数字档案室的主要目的是确保档案资料的安全性。评价应考虑数字档案室的物理安全性、防火措施、保密措施、网络安全等方面。 2. 可访问性&#xff1a;数字档案室应该易于访问和使用。评价应考虑数字档案…

Java_实现图书管理系统

目录 前言 框架核心思想 框架的实现 书类和书架类的实现 功能接口实现 功能的声明 父类用户和子类管理员&#xff0c;子类普通用户 Main方法 前言 java图书管理系统的详细解析;从思考到实现,一步步带你学会图书管理系统. 框架核心思想 下图只是一个图书管理系统的初步…

【Git 全功能解析: 探索版本控制的强大工具】

文章目录 概要集中式版本管理和分布式版本管理Git 基础命令基本流程开发管理 概要 “Git 的历史与现状” Git是Linux的创始人Linus Torvalds的又一力作。在2002年&#xff0c;他在Linux内核的版本控制中使用Bitkeeper&#xff0c;但由于Bitkeeper是一款受版权保护的软件&…

【Electron】electron-builder打包失败问题记录

文章目录 yarn下载的包不支持require()winCodeSign-2.6.0.7z下载失败nsis-3.0.4.1.7z下载失败待补充... yarn下载的包不支持require() 报错内容&#xff1a; var stringWidth require(string-width)^ Error [ERR_REQUIRE_ESM]: require() of ES Module /stuff/node_modules/…