PostgreSQL 是一个开源的对象-关系数据库管理系统,具有跨平台、可扩展性良好等特点,支持丰富的数据类型,并实现了多版本并发控制功能。iPortal 支持使用 PostgreSQL 数据库存储门户数据和安全信息。
安装和配置 PostgreSQL 数据库
如果您已经安装了 PostgreSQL 数据库,在创建 database 后即可直接进行门户数据存储配置、安全信息存储配置。如果您还未安装 PostgreSQL,安装及配置过程可参考:PostgreSQL 安装与配置。
注意:在iPortal中,不支持将门户数据、安全信息存储在同一个 PostgreSQL 数据库中,您可以建立不同的数据库以存储不同的信息,便于数据管理。
门户数据存储配置
iPortal 门户数据存储的数据库配置,建议在 iPortal 启动之前(创建初始化管理员账号之前)进行配置,配置信息在安装目录(%SuperMap iPortal_HOME%\webapps\iportal\WEB-INF)下的 iportal.xml 配置文件中,详情可参见:iPortal 配置文件说明。使用 PostgreSQL 数据库时,您只需将默认的 SQLite 数据库连接池配置信息注释掉或删除掉,将如下 PostgreSQL 数据库连接池配置信息的注释符号去掉即可,示例配置如下:
<dbType>POSTGRESQL </dbType>
<driverClass>org.postgresql.Driver</driverClass>
<jdbcUrl>jdbc:postgresql://localhost:5432/iportal?useUnicode=true&characterEncoding=UTF-8</jdbcUrl>
<maxPoolSize>30</maxPoolSize>
<initialPoolSize>5</initialPoolSize>
<minPoolSize>5</minPoolSize>
<maxIdleTime>3000</maxIdleTime>
<maxWait>300000</maxWait>
<username>postgres</username>
<password></password>
- <dbType>:数据库类型,字符需要大写。
- <driverClass>:数据库驱动的类全名。
- <jdbcUrl>:连接至驱动的 url,如果您的 SuperMap iPortal 和 PostgreSQL 在同一台机器中,IP 就为 localhost,如果不在同一台机器上,此处的 IP 应该写 PostgreSQL 所在机器的 IP 地址。PostgreSQL 的默认端口为:5432,您可以根据您安装的 PostgreSQL 的实际情况来配置。iportal 为数据库名,只需与您创建的数据库名称一致即可。
- <maxPoolSize>:连接池在同一时刻内所提供最大活动连接数。
- <initialPoolSize>:初始化连接池大小。
- <minPoolSize>:连接池在同一时刻内所提供最小活动连接数。
- <maxIdleTime>:最大空闲时间,maxIdleTime 秒内未使用则连接被丢弃。若为0则永不丢弃,默认值: 0。
- <maxWait>:当发生异常时数据库等待最大毫秒数(当没有可用连接时)。
- <username>:用户名。PostgreSQL 数据库的初始管理员账号是 postgres,您可以根据您实际安装的 PostgreSQL 进行配置。
- <password>:密码。根据您实际安装 PostgreSQL 时设置的密码进行配置。
注意:
- PostgreSQL 的初始管理员账号是 postgres。
- PostgreSQL 默认禁止非本机访问,如果 iPortal 和 PostgreSQL 不在同一台机器中,需要远程连接 PostgreSQL,则需要修改 PostgreSQL 的配置文件,另外将 iportal.xml 配置文件中<jdbcUrl>节点中的“localhost”改为 PostgreSQL 所在机器的 IP 地址。
- 以上操作以及切换至 PostgreSQL 数据库的操作,均请在 iPortal 初始化服务启动之前(即创建管理员账号之前),如果在 iPortal 的使用过程中进行切换数据库等操作,请您自行处理数据库的信息同步。
安全信息存储配置
iPortal 安全信息存储的数据库配置,可以在 iPortal 启动后配置。iPortal 的管理员登录门户后,在门户首页点击“管理”> "安全"> "安全配置",选择"安全信息存储"选项卡,进入安全信息存储配置页面,具体请参见:安全信息存储。