一、下载
Postgresql
版本 postgresql-13.5-1-windows-x64-binaries.zip
对外端口5432
使用免安装版本,传送门
二、解压
将对应压缩包解压到需要的系统目录中,尽量避免带中文路径或文件夹带空格。
三、初始数据库
切换到 解压目录\bin
中,初始化数据库。
>initdb.exe -D "解压目录绝对路径\pgsql\data" -E UTF-8 -U postgres -W 属于此数据库系统的文件宿主为用户 "Administrator". 此用户也必须为服务器进程的宿主. 数据库簇将使用本地化语言 "Chinese (Simplified)_China.936"进行初始化. initdb: 无法为本地化语言环境"Chinese (Simplified)_China.936"找到合适的文本搜索配置 缺省的文本搜索配置将会被设置到"simple" 禁止为数据页生成校验和. 输入新的超级用户口令: 再输入一遍: 创建目录 解压目录绝对路径/pgsql/data ... 成功 正在创建子目录 ... 成功 选择默认最大联接数 (max_connections) ... 100 选择默认共享缓冲区大小 (shared_buffers) ... 128MB selecting default timezone ... Asia/Shanghai 选择动态共享内存实现 ......windows 创建配置文件 ... 成功 正在运行自举脚本 ...成功 正在执行自举后初始化 ...成功 同步数据到磁盘...成功 警告:为本地连接启动了 "trust" 认证. 你可以通过编辑 pg_hba.conf 更改或你下次 行 initdb 时使用 -A或者--auth-local和--auth-host选项. 成功。您现在可以用下面的命令开启数据库服务器: "pg_ctl" -D "解压目录绝对路径\pgsql\data" -l logfile start
四、启动pg 服务
>pg_ctl.exe start 正在启动服务器进程 解压目录绝对路径\pgsql\bin>日志: 数据库上次关闭时间为 2022-01-10 17:32:31 CST 日志: 多事务成员回卷保护现在被启用。 日志: 数据库系统准备接受连接 日志: 已启动autovacuum
五、配置 pg
服务
配置服务
>pg_ctl.exe --help pg_ctl 是一个用于初始化、启动、停止或控制PostgreSQL服务器的工具.
以管理员权限启动cmd
,切换到解压路径中bin
目录中,指定对应的数据存储目录 解压路径\pgsql\data
。
>pg_ctl.exe register -N PostgreSQL -D "解压路径\pgsql\data" >sc query PostgreSQL SERVICE_NAME: PostgreSQL TYPE : 10 WIN32_OWN_PROCESS STATE : 1 STOPPED WIN32_EXIT_CODE : 1077 (0x435) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x0 WAIT_HINT : 0x0
启动服务
>net start PostgreSQL PostgreSQL 服务正在启动 . PostgreSQL 服务已经启动成功。
默认端口为5432
端口,查看端口可看到如下输出:
>netstat -ano|findstr 5432 TCP 127.0.0.1:5432 0.0.0.0:0 LISTENING 19640 TCP [::1]:5432 [::]:0 LISTENING 19640
六、配置环境变量
该步骤为非必要
操作,只是为了方便日常使用。每次执行指令后,关闭当前交互命令行窗口,当前交互窗体环境变量配置无效。
>setx PGHOME "解压路径" >setx PGHOST localhos
关闭交互窗口重开
setx PGLIB %PGHOME%\lib
关闭交互窗口重开
setx PGDATA %PGHOME%\data
关闭交互窗口重开
setx Path "%path%;%PGHOME%\bin"