本例安装postgresql-10.4-1-windows-x64
postgresql中文社区下载地址:http://www.postgres.cn/download/
postgresql官网下载地址:https://www.postgresql.org/download/
由于网络问题,本例选用的下载地址:https://download.pchome.net/development/database/download-8864.html
postgresql 10 安装时会默认安装pgadmin,所以不需要单独安装pgadmin
postgresql安装完之后,以安装目录E:\Program Files\PostgreSQL\10为例
1、需要先设置环境变量,包括三项:data存放路径,lib以及bin目录
E:\Program Files\PostgreSQL\10\data;(data的安装目录是可选的,例子是放在安装目录的data文件夹)
E:\Program Files\PostgreSQL\10\lib;
E:\Program Files\PostgreSQL\10\bin;
2、初始化数据簇,使用initdb命令。
先进入data上一级目录(E:\Program Files\PostgreSQL\10)执行命令 initdb -U xx -W -D data
ps: xx 是超级用户名,设置属于你自己的用户名,如不知道initdb命令可使用 initdb --help查看。
tips:如果直接使用initdb -U xx -W -D E:\Program Files\PostgreSQL\10\data进行初始化会提示错误“initdb:命令行参数太多”
执行完之后会提示:
![d09e38d3c9cb9923354faf358ae37f54e66d1edc](https://i-blog.csdnimg.cn/blog_migrate/10235c30caaf45b2583302dbd69c96e1.png)
此时data目录下会出现很多文件夹和文件:
3、不要急着启动,修改data目录下postgresql.conf配置,将前面的#去掉即可
listen_addresses = 'localhost' # what IP address(es) to listen on;
port = 5432 # (change requires restart)
superuser_reserved_connections = 3 # (change requires restart)
如需打开其他配置,可以根据自己的情况进行更改
data目录下还有一个名为pg_hba.conf的文件,pg10默认配置好的,使用默认即可,主要是添加许可权限。
# IPv4 local connections:
host all all 127.0.0.1/32 trust
该配置的意思是信任host地址为127.0.0.1/32 的所有用户所有数据库访问,pgadmin中的主机名称和地址就只能是127.0.0.1而不能是localhost,如需使用localhost在下面添加host all all localhost trust,重启服务
4、启动服务 pg_ctl -D data -l logfile start
如果已经启动,没关系使用pg_ctl -D data -l logfile stop,然后在启动
5、使用服务进行启动, pg_ctl register -N PostgreSQL -D data
执行后服务中会出现服务名为PostgreSQL服务,如果已经启动服务 pg_ctl -D data -l logfile stop,然后点击服务启动,设置为自动,开机就会启动服务。如果遇到错误,请在当前目录下查找日志文件logfile,本例的日志文件所在目录E:\Program Files\PostgreSQL\10
6、使用pgadmin创建servers时,维护数据库必须是postgres,不是你创建的database,使用sql shell登录也是一样的。因为默认数据库是postgres。如果不填postgres会出现各种稀奇古怪的错误。比如:'utf8' codec can't decode byte 0xd6 in position 0: invalid continuation byte