目录
数据库安装文件下载地址:https://www.postgresql.org/ftp/source/v14.4/postgresql-14.4.tar.gz
https://www.postgresql.org/ftp/source/v14.4/postgresql-14.4.tar.gz1、解压数据库安装包
tar -zxvf postgresql-14.4.tar.gz
2、编译
- cd postgresql-14.4/
-
- ./configure --prefix=/usr/local/postgresql
3、安装
make && make install
4、创建目录 data、log
- mkdir /usr/local/postgresql/data
-
- mkdir /usr/local/postgresql/log
5、增加用户 postgres 并赋权
- useradd postgres
-
- chown -R postgres.postgres /usr/local/postgresql
6、修改postgres用户的系统环境变量
- su - postgres
- vi .bash_profile
在最后写入如下内容
- export PGHOME=/usr/local/postgresql
- export PGDATA=/usr/local/postgresql/data
- export PGLIB=/usr/local/postgresql/lib
- export PATH=$PATH:$HOME/bin:$PGHOME/bin
- export LC_ALL=en_US.UTF8
- export LANG=en_US.UTF8
使配置文件生效
. .bash_profile
7、初始化数据库
- su postgres
- /usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/

8、修改配置文件
vim /usr/local/postgresql/data/pg_hba.conf
在文件最后增加一行
host all all 0.0.0.0/0 trust
9、启动服务
pg_ctl start -l /usr/local/postgresql/log/pg_server.log
10、登录数据库
- psql -U postgres -d postgres
-
-
-
- psql (14.4)
- Type "help" for help.
-
- postgres=#
数据库安装文件下载地址:Download PostgreSQL
1、打开页面下载windows X86-64安装包,尽量下载最新版本的PostgreSQL

2、要使用图形安装向导执行安装,您必须具有超级用户或管理员特权。
以下部分将带您通过在Windows主机上安装PostgreSQL。
要启动安装向导,请假设足够的特权,然后双击安装程序图标;如果提示,请提供密码。
请注意,在某些版本的Windows中,要使用管理员特权调用安装程序,您需要右键单击安装程序图标,然后Run as Administrator从上下文菜单中进行选择。
PostgreSQL设置向导打开。点击Next继续。

图1:PostgreSQL设置向导欢迎对话框
Installation Directory窗口打开。接受默认安装目录,或指定替代位置,然后单击Next以继续。

图2:安装目录对话框
使用Select Components对话框上的选项选择将安装哪些软件组件。
选择:
PostgreSQL Server安装PostgreSQL数据库服务器。pgAdmin 4要安装PGADMIN 4.可用于PostgreSQL版本13.0。Stack Builder安装堆栈构建器实用程序;有关堆栈构建器实用程序的更多信息,请参见使用堆栈构建器。Command Line Tools安装诸如以及psql, pg_isready,以及pgbench,,,,,,,等的postgresql工具。这不是一个全面的清单;安装的命令行工具可能因平台而异。clusterdb, createdbdropdbcreateuserdropuserpg_basebackup, pg_dump, pg_dumpallpg_restorereindexdb, vacuumdbvacuumlo
图3:选择组件
点击Next继续。
Data Directory窗口打开。接受默认位置或指定您希望在其中存储数据文件的替代目录的名称。

图4:数据目录对话框
点击Next继续。
Password窗口打开。

图5:密码对话框
PostgreSQL使用Password数据库Superuser和PostgreSQL服务帐户的窗口上指定的密码。
PostgreSQL在后台运行;命名PostgreSQL服务帐户postgres。如果您已经创建了一个具有名称的服务帐户,则postgres必须指定与服务帐户的现有密码相同的密码postgres。
指定的密码必须符合PostgreSQL主机上存在的任何安全策略。在Password现场输入密码并确认现场中的密码后Retype Password,单击Next以继续。
使用该Port字段来指定服务器应在其上收听的端口号。默认侦听器端口是5432。点击Next继续。
图6:高级选项对话框
Pre Installation Summary对话框显示您在安装向导指定的安装首选项。查看设置;您可以使用该Back按钮返回到以前的对话框以修改设置,或单击Next以继续。

图7:“预安装摘要”对话框
向导将通知您,它具有安装PostgreSQL所需的信息;点击Next继续。

图8:准备安装对话框
在安装过程中,设置向导通过一系列进度栏确认了PostgreSQL的安装进度。

图9:安装对话框
在安装向导完成 PostgreSQL 安装之前,它会在退出时启动 Stack Builder。堆栈构建器实用程序提供了一个图形接口,该界面可下载和安装与PostgreSQL一起使用的应用程序和驱动程序。您可以选择取消选中Stack Builder框,然后单击Finish以完成PostgreSQL安装或接受默认设置并继续启动堆栈构建器。

图10:安装向导提供了在出口处启动堆栈建造器的
3、启动服务
Windows 启动postgresql 10.18 服务
运行cmd 命令,以管理员身份运行,进入数据库安装bin目录
- 1、>>cd C:\Program Files\PostgreSQL\13\bin
- 2、>>initdb.exe -D "C:\Programe Files\PostgreSQL\13\data" -E UTF-8 --locale=chs -U postgres -W
- 3、输入刚才安装的超级用户密码,回车
- 4、>>pg_ctl.exe -D "C:\Programe Files\PostgreSQL\13\data" start
- 数据库服务启动成功!
4、配置环境变量 和注册windows服务
1、将 C:\Program Files\PostgreSQL\10\bin 目录加入环境变量path中。
2、管理员身份运行cmd ,进入 C:\Program Files\PostgreSQL\10\bin 该目录下,
我们要以Windows服务的方式启动它,这里需要先将pg注册为Windows的服务,在pg的bin路径下使用如下命令
pg_ctl.exe register -N "postgresql" -D "C:/Program Files/PostgreSQL/13/data"
注册完成之后重启,就可以到Windows服务管理界面(win+R打开输入命令框,输入services.msc打开服务列表)
如果没有启动,点击启动。启动类型选择自动,这样每次开机,系统自动启动服务了。

在数据仓库中使用PostgreSQL 时,若希望使用较大的数据块提高IO性能怎么办?要解决这类问题,只能采用从源码安装的方法,在执行./configure命令时指定较大的数据块,一般也需要指定较大的WAL日志块和WAL日志文件的大小。如想指定128KB的数据块、128KB的WAL日志块、64MB的WAL日志文件,则configure命令如下:
- . / configure --prefix=/usr/local/pgsq19.2.4 --with-perl --with-python
- --with-blocksize=128 --with-wal-blocksize=128 --with-wal-segsize=64
注意:使用此时编译出来的PostgreSQL程序创建的PostgreSQL数据库,不能使用其他块大小的PostgreSQL程序启动。
2.4.1 修改监听的IP和端口
在数据目录下编辑postgresql.conf文件,找到如下内容:
- #listen_addresses = 'localhost'
- #what IPaddress (es) to listen on;
- #port = 5432
- # ( change requires restart)
其中,参数“listen_addresses”表示监听的IP地址,默认是在“localhost”处监听,也就是“127.0.0.1”的IP地址上监听,这会让远程的主机无法登录这台数据库,如果想从其他的机器上登录这台数据库,需要把监听地址改成实际网络的地址,一种简单的方法是,把这个地址改成“*”,表示在本地的所有地址上监听。
参数“port”表示监听的数据库端口,默认为“5432”,可以不更改。如果一台机器上安装了几个数据库实例(如安装了几个不同版本的PostgreSQL),可以设置为不同的端口。
修改了这两个参数后,需要重启数据库才能生效。
2.4.2 与数据库log相关的参数
来看看与log 相关的几个参数:
日志的收集一般是要打开的,所以需要设置:
logging_collector = on
日志的目录一般使用默认值就可以了:
log_directory = 'pg_log'
日志的切换和是否选择覆盖则可以使用如下几种方案。
方案一:每天生成一个新的日志文件。
配置方法如下:
- log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
- log_truncate_on_rotation = off
- log_rotation_age = ld
- log_rotation_size = 0
方案二:每当日志写满一定的大小(如10MB空间),则切换一个日志。配置方法如下:
- log_filename = 'postgresql-%Y-%m-%d_%H%M%s.log'
- log_truncate_on_rotation = off
- log_rotation_age = o
- log_rotation_size = 10M
方案三:只保留7天的日志,进行循环覆盖。配置方法如下:
- log_filename = 'postgresql-%a . log'
- log_truncate_on_rotation = on
- log_rotation_age - 1d
- log_rotation_size = 0
2.4.3 内存参数的设置
PostgresQL安装完毕后,可以修改以下两个主要内存参数。
shared_buffers:共享内存的大小,主要用于共享数据块。
work_mem :单个SQL执行时,排序、hash join所使用的内存,SQL运行完后,内存就释放了。
shared_buffers默认值为32MB,work_mem为1MB,如果你的机器上有足够的内存,可以把这个参数改得大一些,这样数据库就可以缓存更多的数据块,当读取数据时,就可以从共享内存中读,而不需要再从文件上去读取。
work_mem设置大一些,会让排序操作快一些。