Windows 上的静默安装

来自 PostgreSQL wiki
跳转到导航跳转到搜索

在 Windows 上静默安装 PostgreSQL。

Windows 上的 PostgreSQL 安装程序使用 Windows Installer (MSI) 技术,因此要进行静默安装,可以使用与任何 MSI 安装程序相同的参数。所有这些都是通过命令行参数完成的,使用用于

  • 指定所需的 UI 级别。
  • 指定要安装的功能
  • 指定要安装的功能属性的默认值。
  • 可选地指定用于用户消息的语言。

整个安装过程使用 postgresql-<version>-int.msi 文件完成。主 MSI 文件只是这个文件的包装器,它指定了一些必需的值。

请注意,在执行静默安装时,以下功能不可用

  • 验证服务的帐户和密码。如果指定了无效的帐户或密码,安装将几乎完全执行,然后显示错误并取消所有更改,因为身份验证失败。
  • 验证数据目录。指定为数据目录的目录必须不存在,如果存在,则必须在执行安装之前为空,如果要执行 initdb。
  • 验证 DLL 版本。如果需要执行此操作,您需要手动验证 SSL 库的版本以及 PL 的 DLL 依赖项。

如果您对静默安装有任何疑问,请使用 pgFoundry 页面上提供的 pginstaller-devel 邮件列表。

指定所需的 UI 级别

UI 有以下选项可用

名称 命令行 描述
正常 (无) 与用户交互的正常安装。
减少 /gr 无用户交互。全屏窗口,带有进度条。
基本 /gb 无用户交互。只显示一个基本的进度条,没有描述。可以使用命令删除取消按钮

/gb!

静默 /gn 完全静默安装,不向用户显示任何信息。

指定要安装的功能

要安装的功能如下指定

ADDLOCAL=característica_1,característica_2...característica_n
ID 描述
服务器 数据库服务器
nls 自然语言支持
postgis(仅限 8.1、8.2 版本) PostGIS 空间扩展(在 8.3+ 中通过 Stackbuilder 安装)
pljava(仅限 8.1+ 版本) PL/Java
psql psq1 命令行实用程序
pgadmin pgAdmin III
jdbc(仅限 8.2 及更早版本) JDBC 驱动程序(在 8.3+ 中通过 Stackbuilder 安装)
npgsql(仅限 8.2 及更早版本) NPgSql .Net 数据提供程序(在 8.3+ 中通过 Stackbuilder 安装)
psqlodbc(仅限 8.2 及更早版本) ODBC 驱动程序(在 8.3+ 中通过 Stackbuilder 安装)
pgoledb(仅限 8.2 及更早版本) OLE DB 提供程序(在 8.3+ 中通过 Stackbuilder 安装)
docs(仅限 8.0 版本) HTML 格式的文档。8.1 版本始终安装 CHM 格式的文档。
includefiles 用于 C/C++ 的包含文件。
libfiles 用于 C/C++ 的库。
msvclibs(仅限 8.2 及更早版本) 用于 MS Visual C++ 的 C/C++ 库(在 8.3 及更高版本中位于 libfiles 功能中)
pgxs(仅限 8.2 及更早版本) PGXS
binfiles 开发工具和实用程序,例如 ecpg。

为属性指定值

当使用非“正常”的 UI 级别时,属性值是可编辑的。当使用“正常”的 UI 级别时,将使用安装程序对话框中显示的默认值。请注意,字符串参数可能需要在文本周围使用单引号(')。

ID 默认值 描述
INTERNALLAUNCH 0 必须设置为 1 才能使用 MSI 文件。
DOSERVICE 1 将 PostgreSQL 安装为服务。
DOINITDB 1 在已安装的系统上运行 initdb。仅在将 PostgreSQL 安装为服务时才可用。此功能在 NT4 中不可用。
SERVICEDOMAIN . 运行 PostgreSQL 服务的用户的域名。对于本地用户,请使用计算机名(%COMPUTERNAME%)。仅在将 PostgreSQL 安装为服务时才使用。
SERVICEACCOUNT postgres 运行 PostgreSQL 服务的用户名,不包括域名。仅在将 PostgreSQL 安装为服务时才使用。
SERVICEPASSWORD  运行 PostgreSQL 服务的帐户的密码。帐户必须预先存在并具有访问密码。帐户必须具有此访问密码;安装程序不会修改它。仅在将 PostgreSQL 安装为服务时才使用。
CREATESERVICEUSER(仅限 8.1+) 0 如果设置为 1,则将在安装期间创建服务用户,使用指定的用户名和密码。
SERVICENAME PostgreSQL Database Server <ver> 在服务管理器的“服务”中显示的服务名称。它必须在系统中是唯一的。
SUPERUSER postgres 数据库中默认用户的帐户名。仅在运行 initdb 时使用
SUPERPASSWORD   数据库中默认用户的密码。仅在运行 initdb 时使用。
LOCALE C 数据库的区域设置。仅在运行 initdb 时使用。
ENCODING SQL_ASCII 数据库的编码。仅在运行 initdb 时使用。
LISTENPORT 5432 用于接受传入连接的 TCP 端口。仅在运行 initdb 时使用。
PERMITREMOTE   允许来自远程计算机的连接(设置为 1 启用)。仅在运行 initdb 时使用。
PL_PGSQL 1 安装 PL/PGSQL 语言以用于存储函数和过程。
PL_PERL   安装 PL/PERL 语言以用于存储函数和过程。确保 perl158.dll 文件在系统路径 (PATH) 中可用。
PL_PERLU   安装 PL/PERL untrusted 语言以用于存储函数和过程。确保 perl158.dll 文件在系统路径 (PATH) 中可用。
PL_TCL   安装 PL/TCL 语言以用于存储函数和过程。确保 tcl84.dll 文件在系统路径 (PATH) 中可用。
PL_TCLU   安装 PL/TCL untrusted 语言以用于存储函数和过程。确保 tcl184.dll 文件在系统路径 (PATH) 中可用。
PL_PYTHONU   安装 PL/PYTHON untrusted 语言以用于存储函数和过程。确保 python23.dll 文件在系统路径 (PATH) 中可用。
PL_JAVA(仅限 8.1)   安装 PL/JAVA trusted 和 untrusted 语言以用于存储函数和过程。确保在系统路径 (PATH) 中可用正确的 JRE。
NOSHORTCUTS(仅限 8.1) 0 不在 Windows 开始菜单中安装快捷方式。