Page History
...
The database schema used by DSpace is initialized and upgraded automatically using Flyway DB. The DatabaseUtils
class manages all Flyway API calls, and executes the SQL migrations under the org.dspace.storage.rdbms.sqlmigration
package and the Java migrations under the org.dspace.storage.rdbms.migration
package. While Flyway is automatically initialized and executed during the initialization of DatabaseManager
, various Database Utilities are also available on the command line.
New in DSpace 5.x: Metadata for all DSpace objects
There were several changes between the DSpace 4 and 5 database schema, related to the new "Metadata for all Dspace objects" improvements. Full detail can be found here:
Metadata for all DSpace objects
Maintenance and Backup
When using PostgreSQL, it's a good idea to perform regular 'vacuuming' of the database to optimize performance. By default, PostgreSQL performs automatic vacuuming on your behalf. However, if you have this feature disabled, then we recommend scheduling the vacuumdb
command to run on a regular basis.
...
The database manager is configured with the following properties in dspace.cfg
:
| The JDBC URL to use for accessing the database. This should not point to a connection pool, since DSpace already implements a connection pool. |
| JDBC driver class name. Since presently, DSpace uses PostgreSQL-specific features, this should be org.postgresql.Driver. |
| Username to use when accessing the database. |
| Corresponding password ot use when accessing the database. |
Custom RDBMS tables, colums or views
...
The BitstreamStorageManager provides low-level access to bitstreams stored in the system. In general, it should not be used directly; instead, use the Bitstream object in the content management API since that encapsulated encapsulates authorization and other metadata to do with a bitstream that are not maintained by the BitstreamStorageManager.
...