服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - PostgreSQL - Windows PostgreSQL 安装图文教程

Windows PostgreSQL 安装图文教程

2020-04-20 22:35IT168 PostgreSQL

PostgreSQL是一套功能强大的对象-关系型数据库管理系统。经过十几年的发展, PostgreSQL 是世界上可以获得的最先进的开放源码的数据库系统

它提供了多版本并行控制,支持几乎所有 SQL 构件(包括子查询,事务和用户定义类型和函数), 并且可以获得非常广阔范围的(开发)语言绑定 (包括 C,C++,Java,perl,tcl,和 python)。本文介绍的是其在windows系统下的安装过程。

一般说来,一个现代的与 Unix 兼容的平台应该就能运行 PostgreSQL。而如果在windows系统下安装,你需要 Cygwin 和cygipc 包。另外,如果要制作服务器端编程语言 PL/Perl,则还需要完整的Perl安装,包括 libperl 库和头文件。

在磁盘支持方面,需要65MB左右用于存放安装过程中的源码和大约15 MB的空间用于存放安装目录;一个空数据库大概需要25MB;然后在使用过程中大概需要在一个平面文本文件里存放同等数据量数据五倍的空间存储数据,如果你要运行回归测试,还临时需要额外的90MB空间。

第一步:从网上下载基于windows的Cygwin安装程序,双击打开。

Windows PostgreSQL 安装图文教程

第二步:选择安装类型。由于我们已将安装程序下载到了本地硬盘,故选择第三项,然后单击“下一步”。

Windows PostgreSQL 安装图文教程

第三步:选择安装路径。一般按其默认即可。

Windows PostgreSQL 安装图文教程

第四步:选择下载文件包在本机存放路径。请根据实际选择。

Windows PostgreSQL 安装图文教程

接着会提示选择连接类型、下载站点、选择安装包(需要确定加上:cygrunsrv (category Admin) 、postgresql (category Database)),之后便开始下载包并安装cygwin了。

第一步:将cygserver 安装成NT服务并启动

a.运行脚本:$ /usr/bin/cygserver-config

b.在win2003中设置环境变量:CYGWIN=server

c.重启win2003

第二步:在win2003的DOS状态下,按下图所示新建用户帐户及密码

Windows PostgreSQL 安装图文教程

Windows PostgreSQL 安装图文教程

第三步:在系统所在分区新建一文件夹

例如:D:cygwinhomepostgres

第四步:更新文件: /etc/passwd

使用命令:mkpasswd -l -u postgres >> /etc/passwd

解释: 向/etc/passwd文件中加入用户postgres的信息

第五步:新建存放数据的目录并设置postgres为该目录的所有者

mkdir /usr/share/postgresql/data

chown postgres /usr/share/postgresql

chown postgres /usr/share/postgresql/data

第六步:配置用户权限

在运行框内输入“secpol.msc”打开“本地安全设置”窗口,依次点击“本地策略”-“用户权限分配”,在右边窗口里找到“作为服务登录”,双击打开。

Windows PostgreSQL 安装图文教程

在出现的窗口里单击“添加用户或组”添加一个名为“postgres”的用户。

Windows PostgreSQL 安装图文教程

第七步:初始化数据区域

注销原来的用户,改用postgres进入win2003后运行如下命令:

initdb –d /var/postgresql/data

注意:PostgreSQL安装程序只能在NTFS分区中完成数据库的初始化工作,而PostgreSQL服务器程序自身和一些工具程序可以安装在任何分区中。如果为FAT分区格式,可以正常安装PostgreSQL,但不要进行数据库的初始化工作,只能待在安装完成后,在FAT分区上手动执行initdb.exe程序来进行,但安全性和可靠性就不能保证了,要想建立表空间也会失败。

第八步:将postmaster(PostgreSQL的服务器)安装成NT服务并启动

使用命令: cygrunsrv –I postmaster –p /usr/bin/postmaster –a “-d

/usr/share/postgresql/data –I” –y cygserver –s int –u postgres -o

命令解释:

-I postmaster:新建一个名为postmaster的服务。

-p /usr/bin/postmaster:应用程序路径为/usr/bin/postmaster。

-a"-D /usr/share/postgresql/data -i":

postmaster 将目录 /usr/share/postgresql/data 做为数据目录,必须设置“-i”(TCP/IP 连接) 和“-D”参数。

-y cygserver:指明postmaster依赖于cygserver

-s int:发送信号 INT when terminated is run by the user (-u) postgres

-o :在系统退出时停止服务

注:更详细的参数说明可以使用命令:“cygrunsrv -h”以及“postmaster –help”

之后Cygrunsrv 将会让你输入两次密码。

OK,经过以上配置后,即可使用命令“psql –u postgres template1”登录postgresql数据库了。

注:“template1”是Postgresql在初始化时自动创建的测试数据库。

延伸 · 阅读

精彩推荐
  • PostgreSQLRDS PostgreSQL一键大版本升级技术解密

    RDS PostgreSQL一键大版本升级技术解密

    一、PostgreSQL行业位置 (一)行业位置 在讨论PostgreSQL(下面简称为PG)在整个数据库行业的位置之前,我们先看一下阿里云数据库在全球的数据库行业里的...

    未知1192023-05-07
  • PostgreSQLpostgresql 中的to_char()常用操作

    postgresql 中的to_char()常用操作

    这篇文章主要介绍了postgresql 中的to_char()常用操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    J符离13432021-04-12
  • PostgreSQLpostgresql 数据库中的数据转换

    postgresql 数据库中的数据转换

    postgres8.3以后,字段数据之间的默认转换取消了。如果需要进行数据变换的话,在postgresql数据库中,我们可以用"::"来进行字段数据的类型转换。...

    postgresql教程网12482021-10-08
  • PostgreSQLPostgresql开启远程访问的步骤全纪录

    Postgresql开启远程访问的步骤全纪录

    postgre一般默认为本地连接,不支持远程访问,所以如果要开启远程访问,需要更改安装文件的配置。下面这篇文章主要给大家介绍了关于Postgresql开启远程...

    我勒个去6812020-04-30
  • PostgreSQL深入理解PostgreSQL的MVCC并发处理方式

    深入理解PostgreSQL的MVCC并发处理方式

    这篇文章主要介绍了深入理解PostgreSQL的MVCC并发处理方式,文中同时介绍了MVCC的缺点,需要的朋友可以参考下 ...

    PostgreSQL教程网3622020-04-25
  • PostgreSQLPostgreSQL标准建表语句分享

    PostgreSQL标准建表语句分享

    这篇文章主要介绍了PostgreSQL标准建表语句分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    码上得天下7962021-02-27
  • PostgreSQLPostgresql查询效率计算初探

    Postgresql查询效率计算初探

    这篇文章主要给大家介绍了关于Postgresql查询效率计算的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Postgresql具有一定的参考学习价...

    轨迹4622020-05-03
  • PostgreSQL分布式 PostgreSQL之Citus 架构

    分布式 PostgreSQL之Citus 架构

    节点 Citus 是一种 PostgreSQL 扩展,它允许数据库服务器(称为节点)在“无共享(shared nothing)”架构中相互协调。这些节点形成一个集群,允许 PostgreSQL 保存比单...

    未知802023-05-07