一.获取安装包并下载
从官方下载相应的数据库支持版本,也可以从中文社区下载对应的版本。
平台支持如下图:
二.开始安装
三.选择安装目录
四.选择安装组件
五.设置数据库超级用户密码
密码: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 FilesPostgreSQL10bin;C:Program FilesPostgreSQL10data;C:Program FilesPostgreSQL10lib;
十.初始化数据库
1.创建用户postgres,密码11111111:
- C:Program FilesPostgreSQL>net user postgres postgres /add
2. 在数据库根目录下建立data目录
- C:Program FilesPostgreSQL>cd 10
- C:Program FilesPostgreSQL10>md data
3. 去掉administrator对data目录的权限
- C:Program FilesPostgreSQL10>cacls data /e /t /r administrator
- 处理的目录: C:Program FilesPostgreSQL10data
4. 将data目录的权限赋给postgres用户
- C:Program FilesPostgreSQL10>cacls data /e /t /g postgres:C
- 处理的目录: C:Program FilesPostgreSQL10data
5. 用postgres用户打开cmd
- C:Program FilesPostgreSQL10> runas /user:postgres cmd.exe
输入 postgres 的密码:11111111
试图将 cmd.exe 作为用户 "surface-PCpostgres" 启动...
6. 进行初始化,初始化用户为postgres,字符集为utf8,locale为C:
- C:Program FilesPostgreSQL10bin>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 FilesPostgreSQL10bin>
7. 启动数据库,进入客户端
- C:Program FilesPostgreSQL10bin>"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 FilesPostgreSQL10bin>
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=#