# Installer h2 avec Homebrew, Nix

Consultez les chemins d'installation, exécutables, métadonnées et notes de sécurité de h2 pour les workflows d'agents IA.

## installation

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

Commandes d'installation supplémentaires:

### macOS

- Homebrew (100%):

```sh
brew install h2
```

  Preuve: local Homebrew formula metadata

### Linux

- Nix (92%):

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

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

## Faits du paquet

- **Clé du paquet:** brew:h2
- **Gestionnaire de paquets:** Homebrew
- **Version:** 2.4.240
- **Résumé source:** Java SQL database
- **Page d'accueil:** <https://www.h2database.com/>
- **Dépôt:** <https://github.com/h2database/h2database>
- **Généré:** 2026-08-03T19:37:03+00:00

## exécutables

- h2 (alias)

## Comportement d'installation

- Bouteille: non disponible

## Version et fraîcheur

- page générée: 2026-08-03
- version du gestionnaire: 2.4.240
## Historique du projet et usages

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.

### Historique du projet

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.

### Historique d'adoption

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.

### Modes d'utilisation

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.

### Pourquoi les passionnés de paquets s'y intéressent

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.

### Chronologie

- 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.

### Sources

- <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>


## Notes de sécurité

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

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

## Autres enregistrements de gestionnaires de paquets

- 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)


## Sources

- 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
