Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DSpace uses a relational database to store all information about the organization of content, metadata about the content, information about e-people and authorization, and the state of currently-running workflows. The DSpace system also uses the relational database in order to maintain indices that users can browse.

Image Modified

Most of the functionality that DSpace uses can be offered by any standard SQL database that supports transactions. Presently, the browse indices use some features specific to PostgreSQL and Oracle, so some modification to the code would be needed before DSpace would function fully with an alternative database back-end.

...

  • Wiki Markup
    PostgreSQL schemas are in _\[dspace-source\]/dspace/etc/postgres/_
  • Wiki Markup
    Oracle schemas are in _\[dspace-source\]/dspace/etc/oracle/_
          The SQL (DDL) statements to create the tables for the current release, starting with an empty database, aer in _database_schema.sql_. The schema SQL file also creates the two required e-person groups (_Anonymous_ and _Administrator_) that are required for the system to function properly.

...

Wiki Markup
Versions of the *_*.sql{_}*_ files for Oracle are stored in _\[dspace-source\]/dspace/etc/oracle_. These need to be copied over their PostgreSQL counterparts in _\[dspace-source\]/dspace/etc_ prior to installation.

...

  • The fresh_install target loads up the initial contents of the Dublin Core type and bitstream format registries, as well as two entries in the epersongroup table for the system anonymous and administrator groups. Before you restore a raw backup of your database you will need to remove these, since they will already exist in your backup, possibly having been modified. For example, use:
    Code Block
    DELETE FROM dctyperegistry;
    DELETE FROM bitstreamformatregistry;
    DELETE FROM epersongroup;
    
  • Wiki Markup
    After restoring a backup, you will need to reset the primary key generation sequences so that they do not produce already-used primary keys. Do this by executing the SQL in _\[dspace-source\]/dspace/etc/update-sequences.sql_, for example with:
    Code Block
    psql -U dspace -f 
            [dspace-source]/dspace/etc/update-sequences.sql
    
    Future updates of DSpace may involve minor changes to the database schema. Specific instructions on how to update the schema whilst keeping live data will be included. The current schema also contains a few currently unused database columns, to be used for extra functionality in future releases. These unused columns have been added in advance to minimize the effort required to upgrade.

...