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&amp;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 的管理员登录门户后,在门户首页点击“管理”> "安全"> "安全配置",选择"安全信息存储"选项卡,进入安全信息存储配置页面,具体请参见:安全信息存储