如何在windows下手动初始化postgresql恢复数据库数据库

12704人阅读
数据库(23)
PostgreSQL安装:
一、windows下安装过程
安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:
1、开始安装:
2、选择程序安装目录:
注:安装 PostgreSQL 的分区最好是 NTFS 格式的。PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改。此外,PostgreSQL 所使用的&多分点&功能完成表空间的这一特征在FAT文件系统下无法实现。
然而,在某些系统中,只有一种 FAT 分区,这种情况下,可以正常安装 PostgreSQL,但不要进行数据库的初始化工作。安装完成后,在 FAT 分区上手动执行 initdb.exe 程序即可,但不能保证其安全性和可靠性,并且建立表空间也会失败。
3、选择数据存放目录:
4、输入数据库超级用户和创建的OS用户的密码
注:数据库超级用户是一个非管理员账户,这是为了减少黑客利用在 PostgreSQL 发现的缺陷对系统造成损害,因此需要对数据库超级用户设置密码,如下图所示,安装程序自动建立的服务用户的用户名默认为 postgres。
5、设置服务监听端口,默认为5432
6、选择运行时语言环境
注:选择数据库存储区域的运行时语言环境(字符编码格式)。
在选择语言环境时,若选择&default locale&会导致安装不正确;同时,PostgreSQL 不支持 GBK 和 GB18030 作为字符集,如果选择其它四个中文字符集:中文繁体 香港(Chinese[Traditional], Hong Kong S.A.R.)、中文简体 新加坡(Chinese[Simplified], Singapore)、中文繁体 台湾(Chinese[Traditional], Taiwan)和中文繁体 澳门(Chinese[Traditional], Marco S.A.R.),会导致查询结果和排序效果不正确。建议选择&C&,即不使用区域。
----我选择了default localt,安装正确;建议选择default localt。
7、安装过程(2分钟)
8、安装完成
安装完成后,从开始文件夹可以看到:
在安装目录可以看到:
其中:data存放数据文件、日志文件、控制文件、配置文件等。
uninstall-postgresql.exe用于卸载已安装的数据库管理系统。
pg_env.bat里配置了数据库的几个环境变量,内容如下:
二、pgAdmin(大象)
对于每种数据库管理系统,都有相当多的设计与管理工具(可视化界面管理工具),有的是数据库厂商自己提供的(一般都至少有一个),有的是第三方公司开发的,你甚至可以自己写一个简单易用的管理工具。例如Oracle的Oracle SQL Developer(自己开发的)、PLSQL Developer(第三方公司开发的)、SQL Server Management Studio(自己开发的)、(开源中国)网站上提供的个人或组织开发的简易小巧的管理工具。
PostgreSQL就有好几款流行的管理工具,例如:pgAdmin、navicat_pgsql、phppgsql等。
pgAdmin是一个针对PostgreSQL数据库的设计和管理接口,可以在大多数操作系统上运行。软件用C++编写,具有很优秀的性能。
pgadmin 是与 Postgres 分开发布的,可以从下载。目前装个全功能的PostgreSQL数据库,自带该管理工具。
打开pgAdmin,可以看到在第一部分安装的本地数据库的属性,如下图所示:
图中可以看出,新安装的PostgreSQL数据库管理系统带有一个数据库postgres;已建好两个表空间:pg_default、pg_global。
initdb.exe初始化的两个默认表空间pg_global、pg_default。数据库默认的表空间pg_default 是用来存储系统目录对象、用户表、用户表index、和临时表、临时表index、内部临时表的默认空间,他是模板数据库template0和template1的默认表空间。initdb.exe初始化的两个默认表空间pg_global、pg_default。数据库默认的表空间pg_global是用来存储共享系统目录的默认空间。
pg_default 为 PostgreSQL也可以理解成系统表空间,它对应的物理位置为 $PGDATA/base目录。
在PostgreSQL(pg_catalog)下可以看到postgers数据库的一些数据字典和数据字典视图。
新建一个服务器连接,连接远程linux服务器上的PostgreSQL数据库(假设已有远程linux上已安装好PostgreSQL数据库管理系统):
得到数据库属性如下图所示:
图中可以看出,该远程数据库管理系统上建有两个数据库:postgres、cpost;四个表空间:pg_default、pg_global、pis_data、pis_index。
对于每种数据库管理系统,都会提供一个命令行管理接口,例如Oracle的sqlplus,SQL Server的isql和osql等。
凡是用图形管理界面可以实现的功能原则上都可以通过命令行界面命令实现。两者各有优缺点,使用场合不同。在windows下当然常用图形管理界面,因为在图像管理界面中往往都嵌有命令行工具,而在unix和linux下,当然就常用命令行工具了,除了我们在类unix下主要使用字符界面的原因外,还因为大部分情况下我们只能通过telnet或ssh工具远程连接服务器进行操作,此时也只能使用命令行了。
从开始目录打开SQL shell(pgsql),该可执行程序为E:\PostgreSQL\bin\psql.exe。输入密码得到如下图界面:
也可以在修改了系统环境变量Path之后(增加PostgreSQL\bin目录),从命令行直接启动pgsql。
至此,PostgreSQL在Windows下安装完毕。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:783508次
积分:9332
积分:9332
排名:第1441名
原创:199篇
转载:107篇
评论:130条
(1)(1)(6)(2)(2)(1)(1)(2)(2)(7)(3)(16)(3)(4)(3)(4)(1)(8)(8)(7)(5)(4)(15)(25)(31)(15)(1)(3)(12)(1)(2)(1)(5)(11)(6)(13)(1)(5)(1)(4)(3)(3)(4)(8)(14)(9)(2)(9)(4)(6)(4)(2)(1)(1)(2)(4)(3)旗下栏目:
您现在的位置: >
在windows下手动初始化PostgreSQL数据库教程
所属栏目:
发布时间:
| 小编:豆豆
& & & &环境:win7 64 sp1& & & &PG:9.3.5& & & &1、创建用户postgres,密码同样是postgres:net&user&postgres&postgres&/add& & & &2、在数据库根目录下建立data目录:C:\Program&Files\PostgreSQL\9.3&md&data& & & &3、去掉administrator对data目录的权限:C:\Program&Files\PostgreSQL\9.3&cacls&data&/e&/t&/r&administrator& & & &处理的目录: C:\Program Files\PostgreSQL\9.3\data& & & &4、将data目录的权限赋给postgres用户:C:\Program&Files\PostgreSQL\9.3&cacls&data&/e&/t&/g&postgres:C& & & &处理的目录: C:\Program Files\PostgreSQL\9.3\data& & & &5、用postgres用户打开cmdC:\Program&Files\PostgreSQL\9.3&runas&/user:postgres&cmd.exe& & & &输入 postgres 的密码:& & & &试图将 cmd.exe 作为用户 &SURE-PC\postgres& 启动...& & & &6、进行初始化,初始化用户为postgres,字符集为utf8,locale为C:C:\Program&Files\PostgreSQL\9.3\bin&initdb.exe&-D&../data&-E&utf8&--locale&C&-U
The&files&belonging&to&this&database&system&will&be&owned&by&user&&postgres&.
This&user&must&also&own&the&server&process.
The&database&cluster&will&be&initialized&with&locale&&C&.
The&default&text&search&configuration&will&be&set&to&&english&.
Data&page&checksums&are&disabled.
fixing&permissions&on&existing&directory&../data&...&ok
creating&subdirectories&...&ok
selecting&default&max_connections&...&100
selecting&default&shared_buffers&...&128MB
creating&configuration&files&...&ok
creating&template1&database&in&../data/base/1&...&ok
initializing&pg_authid&...&ok
initializing&dependencies&...&ok
creating&system&views&...&ok
loading&system&objects'&descriptions&...&ok
creating&collations&...&not&supported&on&this&platform
creating&conversions&...&ok
creating&dictionaries&...&ok
setting&privileges&on&built-in&objects&...&ok
creating&information&schema&...&ok
loading&PL/pgSQL&server-side&language&...&ok
vacuuming&database&template1&...&ok
copying&template1&to&template0&...&ok
copying&template1&to&postgres&...&ok
syncing&data&to&disk&...&ok
WARNING:&enabling&&trust&&authentication&for&local&connections
You&can&change&this&by&editing&pg_hba.conf&or&using&the&option&-A,&or
--auth-local&and&--auth-host,&the&next&time&you&run&initdb.
Success.&You&can&now&start&the&database&server&using:
&&&postgres&&-D&&../data&
&&&pg_ctl&&-D&&../data&&-l&logfile&start
C:\Program&Files\PostgreSQL\9.3\bin&& & & &7、启动数据库,进入客户端:C:\Program&Files\PostgreSQL\9.3\bin&&pg_ctl&&-D&&../data&&start
server&starting
C:\Program&Files\PostgreSQL\9.3\bin&LOG:&database&system&was&shut&down&at&2014-
09-18&10:19:54&HKT
LOG:&autovacuum&launcher&started
C:\Program&Files\PostgreSQL\9.3\bin&LOG:&database&system&is&ready&to&accept&con
C:\Program&Files\PostgreSQL\9.3\bin&psql.exe
psql&(9.3.5)
Type&&help&&for&help.
postgres=#
相关阅读:
看过本文的人还看过
这篇文章主要介绍了CentOS中运行PostgreSQL需要修改的内核...
这篇文章主要介绍了15个实用的postgresql数据库命令分享...
这篇文章主要介绍了PostgreSQL ERROR: invalid escape string 解决...
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。windows下PostgreSQL数据目录的初始化-数据库-电脑编程网windows下PostgreSQL数据目录的初始化作者:佚名 和相关&&在简体windows中文系统下安装后不能直接初始化pg数据目录,需要手工进行初始化。
首先需要设置pg的变量环境,包括
pg安装目录
PGHOME=
C:\Program Files\PostgreSQL\8.4
目录
PGDATA=
D:\PostgreSQL\8.4\data&
程序库目录
PGLIB=
%PGHOME%\lib&
初始化的主机
PGHOST=
localhost&
pg执行命令目录
Path=
%Path%;%PGHOME%\bin
完成上面设置后使用postgres用户身份运行pg的初始化命令initdb。
runas /noprofile /user:postgres cmd.exe
上面命令打开一个以postgres身份运行的终端,在这个终端下运行
initdb --encode=utf8 --locale=&Chinese, zh_CN&
即可完成初始化。
要说一下的是--locale参数,--encode参数就不多说了,感兴趣可以看下本博相关文章。
locale是指定pg使用的字符集及查找方式。
如果locale指定的语言被pg全文搜索引擎支持的话,就可以使用强大的全文搜索功能,否则只能使用'simple'方式进行搜索。支持全文搜索的言语有:&danish&&dutch&&english&&finnish&&french&&german&&hungarian&&italian&&norwegian&&portuguese&  
&romanian&  
&russian&&spanish&&swedish&&turkish&
很不幸,包括中文在内的双字节文字都不在其中。
--locale在指定中文时,关键的是前面的&Chinese,&,后面的内容可以任意自定,不会对pg发生任何影响。为了更方便区分所使用的字符集可以在后面加上一些识别,如Tranditional表示繁体中文、Simplified表示简体中文。但这样区分或许不够清晰,可以分地区进行设置,如zh_TW表示台湾区繁体中文、zh_HK香港区繁体中文、zh_CN大陆地区简体中文、zh_SG新加坡简体中文。相关资料:|||||||windows下PostgreSQL数据目录的初始化来源网络,如有侵权请告知,即处理!编程Tags:                &                    博客访问: 1650719
博文数量: 478
博客积分: 3010
博客等级: 中校
技术积分: 7209
注册时间:
学习是一种信仰。
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Mysql/postgreSQL
PostgreSQL安装:
一、windows下安装过程
安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:
1、开始安装:
2、选择程序安装目录:
注:安装 PostgreSQL 的分区最好是 NTFS 格式的。PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改。此外,PostgreSQL 所使用的"多分点"功能完成表空间的这一特征在FAT文件系统下无法实现。
然而,在某些系统中,只有一种 FAT 分区,这种情况下,可以正常安装 PostgreSQL,但不要进行数据库的初始化工作。安装完成后,在 FAT 分区上手动执行 initdb.exe 程序即可,但不能保证其安全性和可靠性,并且建立表空间也会失败。
3、选择数据存放目录:
4、输入数据库超级用户和创建的OS用户的密码
注:数据库超级用户是一个非管理员账户,这是为了减少黑客利用在 PostgreSQL 发现的缺陷对系统造成损害,因此需要对数据库超级用户设置密码,如下图所示,安装程序自动建立的服务用户的用户名默认为 postgres。
5、设置服务监听端口,默认为5432
6、选择运行时语言环境
注:选择数据库存储区域的运行时语言环境(字符编码格式)。
在选择语言环境时,若选择"default locale"会导致安装不正确;同时,PostgreSQL 不支持 GBK 和 GB18030 作为字符集,如果选择其它四个中文字符集:中文繁体 香港(Chinese[Traditional], Hong Kong S.A.R.)、中文简体 新加坡(Chinese[Simplified], Singapore)、中文繁体 台湾(Chinese[Traditional], Taiwan)和中文繁体 澳门(Chinese[Traditional], Marco S.A.R.),会导致查询结果和排序效果不正确。建议选择"C",即不使用区域。
----我选择了default localt,安装正确;建议选择default localt。
7、安装过程(2分钟)
8、安装完成
安装完成后,从开始文件夹可以看到:
在安装目录可以看到:
其中:data存放数据文件、日志文件、控制文件、配置文件等。
uninstall-postgresql.exe用于卸载已安装的数据库管理系统。
pg_env.bat里配置了数据库的几个环境变量,内容如下:
二、pgAdmin(大象)
对于每种数据库管理系统,都有相当多的设计与管理工具(可视化界面管理工具),有的是数据库厂商自己提供的(一般都至少有一个),有的是第三方公司开发的,你甚至可以自己写一个简单易用的管理工具。例如Oracle的Oracle SQL Developer(自己开发的)、PLSQL Developer(第三方公司开发的)、SQL Server Management Studio(自己开发的)、(开源中国)网站上提供的个人或组织开发的简易小巧的管理工具。
PostgreSQL就有好几款流行的管理工具,例如:pgAdmin、navicat_pgsql、phppgsql等。
pgAdmin是一个针对PostgreSQL数据库的设计和管理接口,可以在大多数操作系统上运行。软件用C++编写,具有很优秀的性能。
pgadmin 是与 Postgres 分开发布的,可以从下载。目前装个全功能的PostgreSQL数据库,自带该管理工具。
打开pgAdmin,可以看到在第一部分安装的本地数据库的属性,如下图所示:
图中可以看出,新安装的PostgreSQL数据库管理系统带有一个数据库postgres;已建好两个表空间:pg_default、pg_global。
initdb.exe初始化的两个默认表空间pg_global、pg_default。数据库默认的表空间pg_default 是用来存储系统目录对象、用户表、用户表index、和临时表、临时表index、内部临时表的默认空间,他是模板数据库template0和template1的默认表空间。initdb.exe初始化的两个默认表空间pg_global、pg_default。数据库默认的表空间pg_global是用来存储共享系统目录的默认空间。
pg_default 为 PostgreSQL也可以理解成系统表空间,它对应的物理位置为 $PGDATA/base目录。
在PostgreSQL(pg_catalog)下可以看到postgers数据库的一些数据字典和数据字典视图。
新建一个服务器连接,连接远程linux服务器上的PostgreSQL数据库(假设已有远程linux上已安装好PostgreSQL数据库管理系统):
得到数据库属性如下图所示:
图中可以看出,该远程数据库管理系统上建有两个数据库:postgres、cpost;四个表空间:pg_default、pg_global、pis_data、pis_index。
对于每种数据库管理系统,都会提供一个命令行管理接口,例如Oracle的sqlplus,SQL Server的isql和osql等。
凡是用图形管理界面可以实现的功能原则上都可以通过命令行界面命令实现。两者各有优缺点,使用场合不同。在windows下当然常用图形管理界面,因为在图像管理界面中往往都嵌有命令行工具,而在unix和linux下,当然就常用命令行工具了,除了我们在类unix下主要使用字符界面的原因外,还因为大部分情况下我们只能通过telnet或ssh工具远程连接服务器进行操作,此时也只能使用命令行了。
从开始目录打开SQL shell(pgsql),该可执行程序为E:\PostgreSQL\bin\psql.exe。输入密码得到如下图界面:
也可以在修改了系统环境变量Path之后(增加PostgreSQL\bin目录),从命令行直接启动pgsql。
至此,PostgreSQL在Windows下安装完毕。
阅读(114492) | 评论(2) | 转发(7) |
相关热门文章
给主人留下些什么吧!~~
感谢分享不过对于&&6、选择运行时语言环境若选择&default&locale&会导致安装不正确;建议选择“c”后面又建议选择&default&locale&这个啥意思啊?
不错,很详细,postgresql中文教程&/html/postgresql/&学习postgresql的朋友可以参考一下。
请登录后评论。}

我要回帖

更多关于 postgresql创建数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信