# 使用 Homebrew, Nix 安装 h2

查看 h2 的安装路径、可执行文件、元数据以及面向 AI 代理工作流的安全说明。

## 安装

```sh
sudo av install brew:h2
```

其他安装命令:

### macOS

- Homebrew (100%):

```sh
brew install h2
```

  证据: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#h2
```

  证据: nixpkgs package indexes: pkgs/by-name/h2/h2/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## 软件包事实

- **软件包键:** brew:h2
- **软件包管理器:** Homebrew
- **版本:** 2.4.240
- **来源摘要:** Java SQL database
- **主页:** <https://www.h2database.com/>
- **仓库:** <https://github.com/h2database/h2database>
- **已生成:** 2026-08-03T19:37:03+00:00

## 可执行文件

- h2 (别名)

## 安装行为

- Bottle: 不可用

## 版本和新鲜度

- 页面生成时间: 2026-08-03
- 管理器版本: 2.4.240
## 项目历史与用法

H2 is a Java SQL database engine designed for embedded and server use through standard SQL and JDBC. Its package history matters because it became one of the default lightweight relational databases for Java development, tests, demos, local tools, and applications that need an embeddable database without running a separate server.

### 项目历史

The official H2 history says development started in May 2004 and the database was first published on December 14, 2005. The original author, Thomas Mueller, was also the original developer of Hypersonic SQL; after he joined PointBase and discontinued Hypersonic SQL work, the HSQLDB Group continued that codebase. H2 means Hypersonic 2, but the official history emphasizes that H2 does not share code with Hypersonic SQL or HSQLDB and was built from scratch.

The project chose Java for portability, simpler integration with Java applications, Unicode support, security advantages over native code, and faster development of algorithms rather than platform-specific memory-management work. The H2 feature documentation presents the result as a fast open source database engine with JDBC API support, embedded and server modes, disk or in-memory databases, transaction support, multi-version concurrency, a browser console, encryption, full-text search, and a small jar footprint.

H2's repository and documentation structure reflect its dual role as library and tool. The README points Java users to Maven coordinates, tutorial pages, SQL command documentation, functions, data types, issue tracking, mailing-list/forum support, and Stack Overflow usage for framework integration questions.

### 采用历史

H2 adoption came from Java developers who needed a relational database that could run inside the same JVM for tests, demos, desktop apps, command-line tools, and server applications. The official features page highlights embedded mode as the fastest and easiest connection mode, while also documenting server and mixed modes for multiple clients.

The README and GitHub repository show a broad open-source footprint: thousands of stars, many forks, thousands of commits, Maven dependency instructions, and documentation aimed at both SQL users and Java integrators. The supplied package facts list Homebrew and Nix packages, while the more important adoption path for Java is the Maven coordinate `com.h2database:h2` shown by the project README.

### 使用方式

Common H2 usage includes embedding the database in Java applications through JDBC, running in-memory databases for tests, using file-backed local databases, starting server mode for remote JDBC or ODBC-over-TCP/IP connections, using the browser-based Console, and applying compatibility modes for databases such as DB2, Derby, HSQLDB, MS SQL Server, MySQL, Oracle, and PostgreSQL.

H2 also ships command-line and operational tooling around the database engine. Package managers expose an `h2` executable in addition to the Java jar ecosystem, which is useful for local console workflows, demos, and scripted development setups.

### 为什么软件包爱好者会关心

H2 is a package-nerd staple because it collapses a database dependency into a small Java artifact. That makes test suites, examples, development servers, and teaching environments easier to package: no daemon, no external service, no local database bootstrap, and in-memory mode when persistence is unnecessary.

It also has a long tail of compatibility and security implications. Frameworks often include H2 for tests, so packagers and maintainers care about version behavior, SQL compatibility modes, file format changes, console exposure, and transitive dependency updates even when H2 is not the production database.

### 时间线

- 2004: H2 development started in May.
- 2005: H2 was first published on December 14.
- 2000s: H2 established itself as a from-scratch successor in spirit to Hypersonic SQL, separate from HSQLDB code.
- 2010s: H2 became common in Java tests, embedded applications, examples, and framework development setups.
- 2020s: The project documented a small Java footprint, embedded/server/mixed modes, compatibility modes, Maven usage, and package-manager availability.

### Related projects

- H2 is historically related to Hypersonic SQL and HSQLDB through Thomas Mueller's earlier work and the name Hypersonic 2, but the H2 codebase is separate. It is also commonly compared with Apache Derby, SQLite, HyperSQL, embedded PostgreSQL test setups, and Java frameworks that use JDBC databases in development or tests.

### 来源

- <https://github.com/h2database/h2database>
- <https://raw.githubusercontent.com/h2database/h2database/master/README.md>
- <https://raw.githubusercontent.com/h2database/h2database/master/h2/src/docsrc/html/features.html>
- <https://raw.githubusercontent.com/h2database/h2database/master/h2/src/docsrc/html/history.html>
- <https://www.h2database.com/html/history.html>


## 安全说明

broad file, network, media, or database tool signal. formula declares a Homebrew service.

- **Geiger 风险:** orange / 中
- broad file, network, media, or database tool signal
- formula declares a Homebrew service

## 其他软件包管理器记录

- Nix - h2: normalized package name match | nixpkgs package indexes: pkgs/by-name/h2/h2/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/h2.yml](https://github.com/mxcl/pkgdb/blob/main/combined/h2.yml)


## 来源

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
