如何安装PostgreSQL

如何安装PostgreSQL,第1张

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(自己开发的)、http://www.oschina.net/project(开源中国)网站上提供的个人或组织开发的简易小巧的管理工具。

PostgreSQL就有好几款流行的管理工具,例如:pgAdmin、navicat_pgsql、phppgsql等。

pgAdmin是一个针对PostgreSQL数据库的设计和管理接口,可以在大多数 *** 作系统上运行。软件用C++编写,具有很优秀的性能。

pgadmin 是与 Postgres 分开发布的,可以从www.pgadmin.org下载。目前装个全功能的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。

三、pgsql

对于每种数据库管理系统,都会提供一个命令行管理接口,例如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下安装完毕。

啥意思?建表的SQL?

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ( [

{ column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]

| table_constraint

| LIKE parent_table [ { INCLUDING | EXCLUDING } { DEFAULTS | CONSTRAINTS | INDEXES } ] ... }

[, ... ]

] )

[ INHERITS ( parent_table [, ... ] ) ]

[ WITH ( storage_parameter [= value] [, ... ] ) | WITH OIDS | WITHOUT OIDS ]

[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]

[ TABLESPACE tablespace ]

where column_constraint is:

[ CONSTRAINT constraint_name ]

{ NOT NULL |

NULL |

UNIQUE index_parameters |

PRIMARY KEY index_parameters |

CHECK ( expression ) |

REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]

[ ON DELETE action ] [ ON UPDATE action ] }

[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

and table_constraint is:

[ CONSTRAINT constraint_name ]

{ UNIQUE ( column_name [, ... ] ) index_parameters |

PRIMARY KEY ( column_name [, ... ] ) index_parameters |

CHECK ( expression ) |

FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ]

[ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }

[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]

index_parameters in UNIQUE and PRIMARY KEY constraints are:

[ WITH ( storage_parameter [= value] [, ... ] ) ]

[ USING INDEX TABLESPACE tablespace ]

语句的解释太长了,可以看看PostgreSQL的帮助,实际上大同小异,数据类型的称呼有点差异


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6724620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存