Feature Availability for PostgreSQL and H2 Databases

Only available in Nexus Repository Pro. Interested in a free trial?  Start here.

There are some important considerations to keep in mind before migrating to a new database:

  1. Not all formats are currently compatible with the new database options. Unsupported formats will not be migrated; you will not be able to add new formats that your new database does not support. Review Feature Compatibility and ensure that your new database supports all of your formats before migrating.
  2. There are some permanent differences at a detailed level.
  3. Migration is a one-time process; attempts to migrate again will overwrite data.

Feature Compatibility

The table below details features and formats that are compatible and incompatible with the new databases.

Compatible with New DatabasesNot Compatible with New Databases

Formats

  • Apt
  • Cocoapods
  • Conan
    • Hosted Conan repositories only available for those using H2 or PostgreSQL
  • Conda
  • Docker
  • Git LFS
  • Go
  • Helm
  • Maven
  • npm
  • NuGet V2NEW IN 3.43.0
  • NuGet V3
  • p2
  • PyPI
  • R
  • Raw
  • RubyGems
  • Yum

Cross-Cutting Features

  • Search, Browse
  • Blob Storage, Groups
  • Cleanup Policies
  • Staging/Tagging
  • Routing Rules
  • Firewall/IQ Integration
  • REST API
  • Security, Content Selectors
  • SAML/SSO, Crowd, LDAP
  • RUT Auth, User Tokens
  • Tasks
  • 2-to-3 Upgrade Migrator
  • Import/Export

Features Only Available When Using a PostgreSQL Database

Community Formats

  • APK
  • Composer
  • CPAN
  • Puppet

Legacy Formats

High Availability Clustering (HA-C)
(Replaced by new High Availability Deployment Options, which require a PostgreSQL database.)

Feature Changes

While we've made every effort to keep Nexus Repository's external behavior consistent during this change, there are a number of differences to note.

High Availability Clustering (HA-C)

High Availability Clustering in its current form is a feature of the embedded OrientDB database. Database externalization lays the groundwork for a new clustering method based on stateless nodes that will be easier to manage and more flexible. Once this is released, HA-C will be deprecated and replaced.

Bower Format - Legacy

In 2017, Bower maintainers announced that Bower itself was deprecated and began recommending that developers switch to package managers such as Yarn. The Bower format will not be made compatible with the new database architecture.

Backup & Restore

You can back up the embedded H2 database using the same process you've used before , but you will need to use the Admin - Backup H2 Database scheduled task.

Any existing OrientDB backups will not be compatible with either of the new database options. Nexus Repository will no longer handle external PostgreSQL database backups; this will be the system administrator's responsibility.

Asset Paths

References to Assets via the REST API now require a forwardslash in front a path to work.  For example "ticketlist.txt" now must be "/ticketlist.txt".

Logs

There are no changes to log file locations, but any logging related to database interactions will be different.

Groovy Scripting

Nexus Repository has a feature for extending its functionality with Groovy scripts. (This feature is disabled by default for security reasons, but is still available.) In many cases, these scripts accessed undocumented, non-public Nexus Repository APIs. You may need to update scripts connecting to non-public APIs in order for them to work.

For both security and forward compatibility reasons, we recommend making use of the public REST API as much as possible rather than using Groovy scripting.

Webhooks Events

  • Asset events contain the same information as before except that the value assigned to the asset name now begins with a forward slash. Beginning the asset's name with a forward slash is not specfic to webhooks.
  • There are no changes to the contents of a Component event.
  • The following event types are generated for respository uploads:
    • Asset and Component events of type CREATED - the quantities of these are the same as before.
    • Several Asset and Component events of type UPDATED - more events of this type are generated.
  • The following scenarios will emit an event of type PURGED containing the IDs of all deleted assets and components:
    • When performing component clean up. Nexus Repository no longer generates DELETED events for each component and asset deleted during component clean up.
    • Whenever deleting the last component from a maven repository.
  • Deleting individual assets/components (i.e., not via component clean up) from a repository generates the same number and types of events as before. 

Coordinate-Based Content Selectors

Path-based content selectors are fully compatible with the new architecture. However, we are using the transition to remove a deprecated feature:  coordinate-based content selectors. These are any content selectors with references to format-specific coordinates.

External Plugins

You will need to update external plugins that introduce new repository types, interact repositories or repository content, or interact with the database directly to be compatible with the new data access approach.