- A+
一.获取安装包并下载
这里从官方下载相应的数据库支持版本,也可以从中文社区下载对应的版本。
https://www.postgresql.org/download/windows/
平台支持如下图:
二.开始安装

三.选择安装目录

四.选择安装组件

五.设置数据库超级用户密码

密码:11111111
六.设置服务监听端口,默认为5432

七.选择安装语言,这里选C

注:选择数据库存储区域的运行时语言环境(字符编码格式)。
在选择语言环境时,若选择"default locale"会导致安装不正确;同时,PostgreSQL 不支持 GBK 和 GB18030 作为字符集,如果选择其它四个中文字符集:中文繁体 香港(Chinese[Traditional], Hong Kong S.A.R.)、中文简体 新加坡(Chinese[Simplified], Singapore)、中文繁体 台湾(Chinese[Traditional], Taiwan)和中文繁体 澳门(Chinese[Traditional], Marco S.A.R.),会导致查询结果和排序效果不正确。建议选择"C",即不使用区域。
八.完成安装并根据需要安装Stack Build4

stack builder 4.1.0安装选项

完成安装后,可以在开始目录下看到

九.环境变量设置

C:\Program Files\PostgreSQL\10\bin;C:\Program Files\PostgreSQL\10\data;C:\Program Files\PostgreSQL\10\lib;

十.初始化数据库
1.创建用户postgres,密码11111111:
- C:\Program Files\PostgreSQL>net user postgres postgres /add
2. 在数据库根目录下建立data目录
- C:\Program Files\PostgreSQL>cd 10
- C:\Program Files\PostgreSQL\10>md data
3. 去掉administrator对data目录的权限
- C:\Program Files\PostgreSQL\10>cacls data /e /t /r administrator
- 处理的目录: C:\Program Files\PostgreSQL\10\data
4. 将data目录的权限赋给postgres用户
- C:\Program Files\PostgreSQL\10>cacls data /e /t /g postgres:C
- 处理的目录: C:\Program Files\PostgreSQL\10\data
5. 用postgres用户打开cmd
- C:\Program Files\PostgreSQL\10> runas /user:postgres cmd.exe
输入 postgres 的密码:11111111
试图将 cmd.exe 作为用户 "surface-PC\postgres" 启动...
6. 进行初始化,初始化用户为postgres,字符集为utf8,locale为C:
- C:\Program Files\PostgreSQL\10\bin>initdb.exe -D ../data -E utf8 --locale C -U postgres
- 属于此数据库系统的文件宿主为用户 "postgres".
- 此用户也必须为服务器进程的宿主.
- 数据库簇将使用本地化语言 "C"进行初始化.
- 缺省的文本搜索配置将会被设置到"english"
- 禁止为数据页生成校验和.
- 修复已存在目录 ../data 的权限 ... 成功
- 正在创建子目录 ... 成功
- 选择默认最大联接数 (max_connections) ... 100
- 选择默认共享缓冲区大小 (shared_buffers) ... 128MB
- 选择动态共享内存实现 ......windows
- 创建配置文件 ... 成功
- 正在运行自举脚本 ...成功
- 正在执行自举后初始化 ...成功
- 同步数据到磁盘...成功
- 警告:为本地连接启动了 "trust" 认证.
- 你可以通过编辑 pg_hba.conf 更改或你下次
- 行 initdb 时使用 -A或者--auth-local和--auth-host选项.
- Success. You can now start the database server using:
- pg_ctl -D ../data -l logfile start
- C:\Program Files\PostgreSQL\10\bin>
7. 启动数据库,进入客户端
- C:\Program Files\PostgreSQL\10\bin>"pg_ctl" -D "../data" start
- 等待服务器进程启动 ....2019-02-27 21:20:02.540 HKT [9680] LOG: listening on IPv6 address "::1", port 5432
- 2019-02-27 21:20:02.543 HKT [9680] LOG: listening on IPv4 address "127.0.0.1", port 5432
- 2019-02-27 21:20:02.893 HKT [7332] LOG: database system was shut down at 2019-02-27 21:17:55 HKT
- .2019-02-27 21:20:03.443 HKT [9680] LOG: database system is ready to accept connections
- 完成
- 服务器进程已经启动
- C:\Program Files\PostgreSQL\10\bin>
8.解决 FATAL:role "surface" does not exist
这里是补充,在部署ODOO12的时候提示提示,创建用户,问题解决。
- postgres=# create user surface superuser;
- CREATE ROLE
- postgres=# select usename from pg_user
- postgres-# ;
- usename
- ----------
- postgres
- surface
- (2 行记录)
- postgres=#