出处:http://www.cnblogs.com/stephen-liu74/archive/2012/06/08/2315679.html
一、服务器进程的启动和关闭:
下面是pg_ctl命令的使用方法和常用选项,需要指出的是,该命令是postgres命令的封装体,因此在使用上比直接使用postgres更加方便。
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]
pg_ctl reload [-D DATADIR] [-s]
pg_ctl status [-D DATADIR]
pg_ctl promote [-D DATADIR] [-s]
选项 | 描述 |
-D | 指定数据库存储的路径 |
-l | 指定服务器进程的日志文件 |
-s | 仅打印错误信息,不打印普通信息 |
-t SECS | 当使用-w选项时等待的秒数 |
-w | 等待直到数据库操作完成(对于stop而言,该选项时缺省选项) |
-W | 不等待任何操作的完成 |
--help | 显示帮助信息 |
--version | 显示版本信息 |
-m | 对于stop和restart操作,可以指定关闭模式 |
系统关闭模式 | |
smart | 不在接收新的连接,直到当前已有的连接都断开之后才退出系统 |
fast | 不在接收新的连接请求,主动关闭已经建立的连接,之后退出系统 |
immediate | 立即退出,但是在restart的时候需要有恢复的操作被执行 |
这里我们只是给出最为常用的使用方式,即数据库服务器的正常启动和关闭。
#start表示启动postgres服务器进程。
#-D指定数据库服务器的初始目录的存放路径。
#-l指定数据库服务器进程的日志文件
/> pg_ctl -w start -D /opt/PostgreSQL/9.1/data -l /opt/PostgreSQL/9.1/data/pg_log/startup.log
#stop表示停止postgres服务器进程
#-m fast在关闭系统时,使用fast的关闭模式。
/> pg_ctl stop -m fast -w -D /opt/PostgreSQL/9.1/data
二、服务器配置:
1. 设置参数:
在PostgreSQL中,所有配置参数名都是大小写不敏感的。每个参数都可以接受四种类型的值,它们分别是布尔、整数、浮点数和字符串。其中布尔值可以是ON、OFF、TRUE、FALSE、YES、NO、1和0。包含这些参数的配置文件是postgresql.conf,该文件通常存放在initdb初始化的数据(data)目录下,见如下配置片段:
# 这是一个注释
log_connections = yes
log_destination = 'syslog'
search_path = '$user, public'
井号(#)开始的行为注释行,如果配置值中包含数字,则需要用单引号括起。如果参数值本身包含单引号,我们可以写两个单引号(推荐方法)或用反斜扛包围。
这里需要注意的是,并非所有配置参数都可以在服务器运行时执行动态修改,有些参数在修改后,只能等到服务器重新启动后才能生效。
PostgreSQL还提供了另外一种修改配置参数的方法,即在命令行上直接执行修改命令,如:
/> postgres -c log_connections=yes -c log_destination='syslog'
如果此时命令行设置的参数和配置文件中的参数相互冲突,那么命令行中给出的参数将覆盖配置文件中已有的参数值。除此之外,我们还可以通过ALTER DATABASE和ALTER USER等PostgreSQL的数据定义命令来分别修改指定数据库或指定用户的配置信息。其中针对数据库的设置将覆盖任何从postgres命令行或者配置文件从给出的设置,然后又会被针对用户的设置覆盖,最后又都会被每会话的选项覆盖。下面是当服务器配置出现冲突时,PostgreSQL服务器将会采用哪种方式的优先级,如:
1). 基于会话的配置;
2). 基于用户的配置;
3). 基于数据库的配置;
4). postgres命令行指定的配置;
5). 配置文件postgresql.conf中给出的配置。
最后需要说明的是,有些设置可以通过PostgreSQL的set命令进行设置,如在psql中我们可以输入:
SET ENABLE_SEQSCAN TO OFF;
也可以通过show命令来显示指定配置的当前值,如:
SHOW ENABLE_SEQSCAN;
与此同时,我们也可以手工查询pg_settings系统表的方式来检索感兴趣的系统参数。
三、内存相关的参数配置:
1. shared_buffers(integer):
设置数据库服务器可以使用的共享内存数量。缺省情况下可以设置为32MB,但是不要少于128KB。因为该值设置的越高对系统的性能越有好处。该配置参数只能在数据库启动时设置。
此时,如果你有一台专用的数据库服务器,其内存为1G或者更多,那么我们推荐将该值设置为系统内存的25%。
2. work_mem(integer):
PostgreSQL在执行排序操作时,会根据work_mem的大小决定是否将一个大的结果集拆分为几个小的和work_mem差不多大小的临时文件。显然拆分的结果是降低了排序的速度。因此增加work_mem有助于提高排序的速度。然而需要指出的是,如果系统中同时存在多个排序操作,那么每个操作在排序时使用的内存数量均为work_mem,因此在我们设置该值时需要注意这一问题。
3. maintence_work_mem(integer):
指定在维护性操作中使用的最大内存数,如VACUUM、CREATE INDEX和ALTER TABLE ADD FOREIGN KEY等,该配置的缺省值为16MB。因为每个会话在同一时刻只能执行一个该操作,所以使用的频率不高,但是这些指令往往消耗较多的系统资源,因此应该尽快让这些指令快速执行完毕。
相关推荐
在Linux环境中,PostgreSQL是一种广泛使用的开源对象关系数据库系统,尤其在服务器端应用程序开发和大数据管理中占有重要地位。PostgreSQL-10是其一个重要的版本,提供了许多新特性和性能改进。本教程将详细讲解如何...
安装“postgresql-9.5.0-1-windows.exe”文件,用户将获得完整的PostgreSQL服务器、客户端工具和必要的库文件。安装过程中,用户可以配置数据库实例的端口、数据存储位置、超级用户密码等设置。安装完成后,可以通过...
- **二进制安装**:压缩包中的"pgsql"文件夹包含了PostgreSQL服务器的二进制文件,用户可以通过解压后按照安装指南进行配置和启动。 - **数据目录**:PostgreSQL需要一个指定的数据目录来存储数据库文件,通常在安装...
- 配置完成后,可通过pgAdmin或其他客户端工具连接到本地或远程的PostgreSQL服务器。 **3. 数据类型与SQL语法** - PostgreSQL支持多种数据类型,如数值、字符串、日期时间、二进制、数组、JSON等,满足不同场景的...
描述中的内容 "51CTOマツヤリ-postgresql-9.2.4-1-windows.zip" 与标题相同,暗示这可能是从知名 IT 学习平台 51CTO 下载的 PostgreSQL 安装包,用于在 Windows 环境下安装和配置数据库服务器。 标签 "postgresql" ...
本文将详细介绍 PostgreSQL 9.5.1 版本中的关键知识点,并探讨如何利用源码进行安装、配置和扩展。 **1. PostgreSQL 的特性** - **开源与社区支持**:PostgreSQL 是一个完全开源的项目,拥有活跃的开发者社区,...
- **配置调优**:根据服务器硬件规格调整PostgreSQL配置参数,例如设置合理的共享缓存大小、工作内存大小等。 ##### 3. 常见性能瓶颈及其解决策略 - **I/O 瓶颈**:增加硬盘数量或使用SSD固态硬盘可以显著改善I/O...
5. **doc** 目录:包含PostgreSQL的文档和帮助文件,对于学习和理解数据库系统非常有用。 6. **data** 目录(可能为空):安装过程中将创建实际数据库数据的目录。 在安装和配置PostgreSQL 9.2.24时,需要注意以下...
在这个目录中,你会找到如`pg_hba.conf`(主机授权文件)和`postgresql.conf`(配置文件),这些都是配置数据库服务器的重要文件。 4. **库文件**:`.dll`和`.lib`文件用于提供PostgreSQL运行时所需的动态链接库和...
通过这些文件,我们可以学习到关于PostgreSQL的安装、升级、配置以及依赖管理等多个方面的知识。例如,了解如何运行批处理文件、理解安装过程中涉及的参数、如何使用msi安装程序以及配置数据库以满足特定性能和安全...
- 作为数据库管理员,第一步是学习如何安装和配置PostgreSQL数据库服务器。这包括了解操作系统的依赖关系、配置文件的设置、初始化数据库实例等。 3. 数据库性能优化 - PostgreSQL提供了很多性能调优的选项,包括...
PostgreSQL 11-15 和 PostGIS 3.0.11 是针对Linux CentOS服务器的重要组件,它们在数据库管理和地理空间数据处理方面扮演着关键角色。本文将深入探讨这两个组件的功能、安装过程以及如何在CentOS环境中进行配置。 ...
官方文档详细解释了在不同操作系统(如Linux、Windows和macOS)上的安装步骤,并指导如何设置基本的服务器配置,包括数据目录、端口设置、网络访问权限等。 **二、SQL语言** PostgreSQL支持标准的SQL语法,但也有...
DB2和PostgreSQL都提供了丰富的配置参数,源码分析可以指导如何更有效地利用这些参数。 5. **扩展性**:PostgreSQL的一大特点是其强大的扩展性,允许用户通过插件开发自定义的数据类型、函数和索引。对比DB2,虽然...
2. 配置环境变量,确保`PATH`包含PostgreSQL的可执行文件路径。 3. 运行安装脚本,按照提示进行安装。 4. 设置数据库管理员(如`postgres`用户的密码)。 5. 初始化数据库集群,创建所需的系统表和角色。 6. 启动...
在成功编译和安装PostgreSQL后,你可以通过`pg_ctl`命令启动数据库服务器,并使用`createdb`和`psql`工具进行数据库的创建和管理。 值得注意的是,编译源码通常是为了自定义配置或者为了获取最新未发布的功能。对于...
操作系统设置主要涉及确保数据库服务器有最佳性能的系统级配置,如文件描述符限制、内核参数等。 书中提到了VACUUM命令,这是PostgreSQL中一个重要的维护命令。VACUUM用于清理数据库中的垃圾数据,并回收未被使用的...
本资源提供了在Visual Studio 2008环境下可调试的PostgreSQL 9.2.1版本源代码,这为学习者提供了一个绝佳的实践平台。 标题中的"VS环境下可调试的Postgresql-9.2.1源码"意味着我们可以使用Microsoft的Visual Studio...
【PostgreSQL JDBC 源代码解析】 在Java编程中,PostgreSQL JDBC驱动是连接Java应用程序与...通过阅读和分析这些源代码,开发者不仅可以学习到如何编写数据库驱动,还能提升对JDBC规范和PostgreSQL特性的理解。