代码成诗

Windows 下 PostgreSQL 数据库的安装和配置

deng-dev  发布在  更新于 PostgreSQL数据库安装配置Windows

PostgreSQL Logo

PostgreSQL 介绍

(懒,直接摘自百度百科…)PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。

好了,以上都是比较官方的话,用自己的话来说就是一个功能很强大,性能优越,并且完全开源免费的数据库系统。它出身名校,在学术派的院校气息中不断完善发展,被誉为开源的Oracle。关于它性能跟 MySQL 的对比,你可以用百度 google 一下~~~

PostgreSQL 安装

在 Windows 上安装 PostgreSQL 还是很简单的,直接一个 zip 压缩包就行,当然你也可以下载官方安装程序安装,下面说的安装指的是 zip 免安装的过程。

下载最新的zip包 http://get.enterprisedb.com/postgresql/postgresql-9.5.2-1-windows-x64-binaries.zip 【标注:现版本已至10.2,请移步官方下载最新安装包】

postgresql-9.5.2-1-windows-x64-binaries.zip 解压到你想要安装的路径,本文路径是D:\Program Files

进入到刚刚解压的 pgsql 文件夹。

在这里创建一个 data 文件夹(目的是用以存放稍后创建的库文件和配置)。

pgsql 文件夹,你能看到 bin 目录,点进去.

bin 目录下面打开命令行.

执行命令:initdb -D ../data -U postgres

命令的意思是在 data 文件夹初始化一个数据仓库,用户名设为 postgres ,密码为空。更多的命令参数使用initdb --help 查看.

初始化完成之后,执行 postgres -D ../data.

这个时候 PostgreSQL 已经成功运行了。

PostgreSQL 配置

如果只是为了开发使用,上面这些就足够了,但是为了更好的了解PostgreSQL的优化项,这里说下一些常用的配置: 配置文件在上面创建的data目录下的postgresql.conf.

(图摘自 http://www.cnblogs.com/shanyou/p/3495935.html )

PostgreSQL 修改密码

刚刚我们使用参数-U postgres初始化了一个默认账号postgres。这个用户是没有密码的。如果需要设置/修改密码,执行下面的命令:

$ psql -U postgres
psql (10.2)
Type "help" for help.

postgres=# ALTER USER postgres WITH PASSWORD 'new password';
ALTER ROLE
postgres=# \q

但是我们去连接数据库的时候,发现还是可以无密码连接到 PostgreSQL。这是因为我们在pg_hba.conf中定义了信任本地连接的规则。

打开你的data目录,找到pg_hba.conf文件,可以看到如下规则:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust

127.0.0.1/32的连接规则改成password,然后重启 PostgreSQL,就必须使用我们设置的密码连接了。

好了,收工····

Program End Flag ……

deng-dev
保持敏锐的技术嗅觉,去探知无尽的想象力