postgreSQL安装

一、安装

https://wiki.postgresql.org/wiki/Detailed_installation_guides

安装可以选择yum+rpm包安装、源码安装的方式,我是使用yum进行的安装,安装的时候需要保证对应依赖的安装包都存在了,否则就会报错。

如下是我的安装过程,我使用的是centos6.4的操作系统环境。

yum安装

1、  首先需要安装repo套件

wget http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm

rpm -Uvh pgdg-centos93-9.3-1.noarch.rpm

2、  检查依赖包

uuid, unixODBC,libtool-ltdl因为我这里这些包在PXE安装的时候都已经存在了,未单独安装。

3、安装server模块

在yum配置中修改baseurl为如下值即可,注意需要配置好dns和防火墙,否则无法访问。

baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/

http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/

然后执行yum list postgres*

yuminstall postgresql93-server

其他模块可以根据自己的需要选择安装(postgresql93-libs postgresql93-contrib postgresql93-odbc)

下载rpm包安装(centos6.4+pgsql9.3.2)

前提:确认openssl、uuid, unixODBC, libtool-ltdl依赖包都安装OK

安装postgresql93-libs之前需要对openssl进行升级,否则会报错,如下。

安装postgresql93-contrib-9.3.2-1PGDG.rhel6.x86_64.rpm之前需要安装uuid包,否则会报错:

rpm -ihU --quiet uuid-1.6.1-10.el6.x86_64.rpm;

二、postgreSQL初始化

1、initdb

在安装完成pgsql以后,需要做初始化,生成初始的配置文件、数据库等。

默认数据文件路径:/var/lib/pgsql/data/,可在初始化的时候指定数据文件路径,在环境变量中设置PGDATA的值。

方法一:service postgresql-9.3 initdb (root用户)

方法二:/usr/pgsql-9.3/bin/pg_ctl  -D  /home/pgsql/9.3/data/ start (postgres 用户)

方法三:/etc/init.d/postgresql-9.3 initdb (root用户)

注意:在使用类似方法一的形式进行初始化的时候没法修改数据文件的路径,需要修改/etc/init.d/postgresql-9.3里面PGDATA的值,具体其他方法还有待进一步测试。

2、修改配置文件$PGDATA/postgresql.conf

2.1、重新加载,部分参数需要重启才能生效。

①、select pg_reload_conf();

②、ps -ef | grep postmaster | grep -v grep | xargs kill -HUP

③、pg_ctl  reload

2.2、listen_address=* ,监听所有端口

2.3、$PGDATA/pg_hba.conf配置文件,谁可以访问数据库,可做数据库权限控制。

# TYPE DATABASE  USER  CIDR-ADDRESS METHOD

2.4、max_connections 最大连接数

2.5、shared_buffers  25%内存

2.6、空闲空间映射设置(FSM)

2.7、日志

log_destination

log_directory  log目录

log_filename= postgresql-%a.log  log文件名

log_line_prefix=‘%t:%r:%[email protected]: [%p] : ‘

log_statement    none/ddl/mod/all四种

log_min_duration_statement =1000 (毫秒,即超过一秒的查询会记录日志)  + auto_explain模块

2.8、VACUUM , autovaccum

2.9、maintenance_work_mem=5%*total_mem比排序使用更大内存的操作。

2.10、autovacuum_max_workers

autovacuum_naptime

2.11、default_statistics_target  新版默认100,建议设置50-100,加大会延长分析的时间?

2.12、checkpoint_segments 默认为3,增加可提高大容量导入的速度。建议10以上, 10-32

2.13、checkpoint_timeout 默认5min

2.14、checkpoint_completion_target默认0.5

2.15、wal_buffers = 16M

2.16、wal_sync_method 谨慎设置

2.17、shared_buffers 25%内存

2.18、effective_cache_size50%-70%内存

2.19、synchronous_commit 同步提交,相关参数:wal_writer_delay(200s)

2.20、random_page_cost

2.21、work_mem 排序用 可达GB级,不宜太大

2.22、log_line_prefix =‘%t [%p] : [%l-1] user=%u,db=%d,remote=%r ‘

2.23、shared_preload_libraries= ‘auto_explain‘

custom_variables_classes = ‘auto_explain‘

auto_expain.log_min_duration = ‘1s‘

3、系统参数配置

vm.swapines=0
vm.overcommit_memory=2

sysctl配置,保证共享内存足够的大:

$ getconf PAGE_SIZE
4096  --4KB 页面大小
$ getconf _PHYS_PAGES
8215683 --物理内存的页面数

shmall --小于物理内存页面数(1/2物理内存页面数)

shmmax --shmall * 页面大小(默认4KB)

kernel.sem = 250 32000 32 128

附:32G内存+postgreSQL9.3.2对应postgresql.conf示例

listen_addresses = ‘*‘

shared_buffers = 8GB

work_mem = 128MB

maintenance_work_mem = 480MB

effective_cache_size = 20GB

log_min_duration_statement = 300

log_line_prefix = ‘ %m DB:%d FROM:%[email protected]%r SESS:%c:%l -> ‘

log_connections = on

log_disconnections = on

log_statement = ‘ddl‘

escape_string_warning = off

default_statistics_target = 400

constraint_exclusion = on

max_connections = 100

standard_conforming_strings=off

log_filename = ‘postgresql-DAY%d.log‘

#WAL Setting

#wal_level = minimal

wal_level = hot_standby

archive_mode = on # allows archiving to be done # (change requires restart)

archive_timeout = 300

max_wal_senders = 3

archive_command = ‘rsync -a %p TESTSERVER::wal/ff/%f‘

fsync = off

full_page_writes = off

checkpoint_segments = 256

checkpoint_timeout = 60min

checkpoint_completion_target = 0.9

autovacuum = on

autovacuum_analyze_scale_factor = 0.1

autovacuum_analyze_threshold = 50

autovacuum_vacuum_cost_delay = 30ms

autovacuum_vacuum_cost_limit = 30

autovacuum_vacuum_scale_factor = 0.1

autovacuum_vacuum_threshold = 50

log_autovacuum_min_duration = 30

时间: 2024-12-11 15:37:57

postgreSQL安装的相关文章

PostgreSQL安装及简单使用

一.PostgreSQL简介 1.什么是PostgreSQL PostgreSQL数据库是目前功能最强大的开源数据库,支持丰富的数据类型(如JSON何JSONB类型,数组类型)和自定义类型.而且它提供了丰富的接口,可以很容易地扩展它的功能,如可以在GiST框架下实现自己的索引类型等,它还支持使用C语言写自定义函数.触发器,也支持使用流行的语言写自定义函数,比如其中的PL/Perl提供了使用Perl语言写自定义函数的功能,当然还有PL/Python.PL/Tcl,等等. 2.PostgreSQL数

2.PostgreSQL安装详细步骤(windows)【转】

感谢 Junn9527 PostgreSQL安装:一.windows下安装过程安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:1.开始安装: 2.选择程序安装目录: 注:安装 PostgreSQL 的分区最好是 NTFS 格式的.PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改.此外,Post

Ubuntu PostgreSQL安装和配置

1.安装 使用如下命令,会自动安装最新版,这里为9.5 sudo apt-get install postgresql 安装完成后,默认会: (1)创建名为"postgres"的Linux用户 (2)创建名为"postgres".不带密码的默认数据库账号作为数据库管理员 (3)创建名为"postgres"的表 安装完成后的一些默认信息如下: config /etc/postgresql/9.5/main data /var/lib/postgre

CentOS7 PostgreSQL安装

CentOS7 PostgreSQL安装 Install 安装 使用yum安装 yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-redhat94-9.4-1.noarch.rpmyum install postgresql94-server postgresql94-contrib 设置开机启动 systemctl enable postgresql-9.4.servicesystemctl start po

PostgreSQL安装详细步骤(windows)

PostgreSQL安装:一.windows下安装过程安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:1.开始安装: 2.选择程序安装目录: 注:安装 PostgreSQL 的分区最好是 NTFS 格式的.PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改.此外,PostgreSQL 所使用的"

windows下postgresql安装失败解决方法:无法运行getlocales.exe

今天要安装postgresql但是安装的时候出现错误 Unknown error while running C:\Users\jinjin\AppData\Local\Temp\postgresql_installerxxxxxxx\getlocales.exe 网上百度对这个问题搜了一下只有3个链接,谷歌了一下后尝试解决这个方法. 主要原因应该是VC2010没有安装,但是我安装了之后还是依然报错.然后发现是我在安装安装版之前尝试使用过免安装的二进制版,在运行initdb的时候提示报错缺少一个

【转帖】Windows下PostgreSQL安装图解

Windows下PostgreSQL安装图解 这篇文章主要为大家介绍了如果在Windows下安装PostgreSQL数据库的方法,需要的朋友可以参考下 现在谈起免费数据库,大多数人首先想到的可能是MySQL,的确MySQL目前已经应用在国内很多领域,尤其是网站架设方面.但是,实际上功能最强大.特性最丰富和最复杂的免费数据库应该是PostgreSQL.它的很多特性正是当今许多商业数据库例如Oracle.DB2等的前身. 其实笔者最近也是因为项目需要,接触了一点PostgreSQL的皮毛,最近Pos

Postgresql安装失败--the database cluster initialisatio

PostgreSQL 始终不能同时接受超过大约 125 个连接,我的硬件是很强悍的! 发生这种情况的原因在于某些 PostgreSQL 说依赖的库依赖于 user32.dll ,而 user32.dll 要从"Desktop Heap"中分配内存."Desktop Heap"用于为每个登陆会话分配内存,每个非交互式会话大约分配 512KB ,同时每个 postgres.exe 进程消耗大约 3.2KB 的"Desktop Heap",这样大约 1

PostgreSQL安装详细步骤(windows)[转]

PostgreSQL安装: 一.windows下安装过程 安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下: 1.开始安装: 2.选择程序安装目录: 注:安装 PostgreSQL 的分区最好是 NTFS 格式的.PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改.此外,PostgreSQL 所使

PostgreSQL安装与设定

本教程适合Centos6.7或者RedHat. PostgreSQL安装 1.Postgresql安装包确认 yum list postgresql* postgresql-server.x86_64 8.4.20-8.el6_9 base postgresql.x86_64 8.4.20-8.el6_9 base 2.Postgresql安装 yum install -y postgresql-server 3.安装结果确认 rpm -qa | grep postgresql postgres