windows10 安装postgresql二进制包
一、postgresql二进制包下载

根据自己系统下载对应的二进制包,下载链接:https://www.enterprisedb.com/download-postgresql-binaries

二、安装步骤

1. 解压postgresql二进制包
将文件解压到你喜欢的位置,我的位置为:D:\database。解压后会有一个pgsql文件。

2. 初始化数据库

D:\database\pgsql\bin>initdb.exe -D "D:/database/pgsql/data" -E UTF-8 -W

二进制安装zabbix如何启动 二进制包安装_数据库


初始化过程中需要输入超级用户(当前系统用户)的密码,根据提示设置即可。

注意:

  • 初始化过若使用-U指定了数据库用户的话,则设置的是指定的数据库用户的密码,若不指定则自动将当前系统用户作为数据库用户。
  • data目录要不存在或者为空,否则初始化不成功。
    3. 启动数据库服务
D:\database\pgsql\bin>pg_ctl -D "D:/database/pgsql/data" start

二进制安装zabbix如何启动 二进制包安装_二进制安装zabbix如何启动_02


4. 使用psql测试连接数据库

D:\database\pgsql\bin>psql -d postgres

二进制安装zabbix如何启动 二进制包安装_二进制安装zabbix如何启动_03

psql是postgresql自带的数据库连接工具,可使用-d指定数据库,-U指定用户,-h指定ip地址,-p指定端口。在不指定-U的情况下,默认使用当前系统用户名;不指定-h,默认使用本地连接;不指定-p,默认使用端口5432。

\du 查看数据库用户信息

\q 退出psql连接

5. 关闭数据库服务

D:\database\pgsql\bin>pg_ctl -D "D:/database/pgsql/data" stop

二进制安装zabbix如何启动 二进制包安装_sql_04


6. 注册windows服务

D:\database\pgsql\bin>pg_ctl register -N PostgreSQL -D "D:/database/pgsql/data"

在服务中查看刚刚注册的PostgreSQL服务:

二进制安装zabbix如何启动 二进制包安装_sql_05


注意:这个需要用管理权限执行,否则服务注册不成功,会报“pg_ctl:无法打开服务管理器”的错误。

为什么注册windows服务:

  1. 可以设置在开机时自动启动postgresql服务,就不需要我们每次自己手动启动。
  2. 使用pg_ctl start 启动postgresql服务后,cmd窗口不能关闭,若cmd窗口关闭够,启动的postgresql服务会自动关闭。

另外,注册了windows服务后,我们可以使用net start 服务名,和net stop 服务名来启停pg服务。
7. 环境变量设置
主要设置的环境变量有两个PGPATH和PGDATA,PGPATH要添加到系统环境变量中。其余的环境变量按需设置。有了PGPATH就不用使用绝对路径调用pg的命令了,有了PGDATA在操作时就不需要用-D指定数据库路径,会自动使用设置的PGDATA路径作为数据库路径。
PGHOME:D:\database\pgsql
PGPATH:%PGHOME%\bin
PGDATA:%PGHOME%\data

三、允许远程连接

现在我们可以在本地连接pg服务,但远程是连接不上的。要想远程能连接上我们的本地的pg服务,需要修改data目录下的两个配置文件:postgresql.conf和pg_hba.conf。

* 在postgresql.conf中监听所有tcp连接。取消listen_addresses="*"前的注释#,或者直接在文件末尾添加listen_addresses="*"* 在pg_hba.conf中增加认证规则:

host all all 0.0.0.0/0 md5

另外,数据库初始化的时候把认证方式都设置为了trust,为了安全起见,建议都使用md5的方式。

二进制安装zabbix如何启动 二进制包安装_postgresql_06


可在pg_hba.conf中设置数据库服务访问的黑白名单。