Wiki source code of Database Administration

Version 44.1 by Thomas Mortagne on 2021/03/22

Hide last authors
Manuel Smeria 27.2 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
Ludovic Dubost 1.1 4
Ecaterina Moraru (Valica) 37.4 5 XWiki uses by default a database to store its data. You will find on this page tips and tricks to administer and tune your database setup. For Installation please check the [[Installation guide>>Documentation.AdminGuide.InstallationWAR||anchor="HInstallandconfigureaRelationalDatabase"]] which contains information on how to setup XWiki for multiple databases.
Ludovic Dubost 1.1 6
Thomas Mortagne 43.1 7 = Main limitations =
Thomas Mortagne 42.1 8
Thomas Mortagne 43.1 9 == Short strings ==
Thomas Mortagne 42.1 10
Thomas Mortagne 44.1 11 {{version before="13.2"}}
Thomas Mortagne 43.1 12 All fields dedicated to page references, page title and in general short object properties string are limlited to 255 characters
13 {{/version}}
Thomas Mortagne 42.1 14
Thomas Mortagne 43.1 15 {{version since="13.2"}}
16 The limit of those fiels has been increased to 768.
17 {{/version}}
Thomas Mortagne 42.1 18
Silvia Macovei 19.2 19 = Indexes =
Jean-Vincent Drean 7.1 20
Thomas Mortagne 41.1 21 Even though we've configured XWiki to let Hibernate create indexes by default, there can be some limitations on some databases. For example on MySQL, indexes cannot be created automatically for string columns longer than 768 characters ([[MySQL has a limit of 768 utf8mb4 characters>>https://dev.mysql.com/doc/refman/8.0/en/innodb-limits.html]].
Ludovic Dubost 1.1 22
Vincent Massol 40.1 23 Instructions depending on the database you use:
Thomas Mortagne 41.1 24
Vincent Massol 40.1 25 * [[MySQL>>Documentation.AdminGuide.Installation.InstallationWAR.InstallationMySQL.WebHome||anchor="HIndexes"]]
26 * [[Oracle>>Documentation.AdminGuide.Installation.InstallationWAR.InstallationOracle.WebHome||anchor="HIndexes"]]
Vincent Massol 29.1 27
Silvia Macovei 19.2 28 = Sanity Checks =
Ludovic Dubost 1.1 29
jeanvivienmaurice 1.6 30 To verify the consistency of your XWiki database you can run the sanity check script. The script will select rows that are inconsistent with the logics of XWiki. If no rows are selected, it means the script itself can not detect any error.
jeanvivienmaurice 1.7 31
Manuel Smeria 27.2 32 * If you use **MySQL** as your database:
33 ** The following [[sanity check script>>attach:sanitycheck.sql]] has been tested for **MySQL 5.0** (also been reported to work with MS-SQL)
34 ** Another [[script>>attach:sanitycheckMySQL4.sql]] is a variant of the previous script for **MySQL 4.x** replacing some syntax with more ancient one (still reports errors in one command)
35 * If you use **postgresql** as your database:
Silvia Macovei 19.1 36 ** Here is a [[modified version of the sanity check script>>attach:sanitycheck_postgresql.sql]], to be run in the "query" tool of pgAdmin. It is the same as the script for MySQL, except that the syntax for SQL comments is different.
Vincent Massol 22.2 37 ** pgAdmin is the GUI tool provided with postgresql to access the database. Run pgAdmin, select the ##xwiki## database, and choose the "Query" option in the "Tools" menu. Then just open the script and click on the play icon ("Execute query").
Jean-Vincent Drean 7.1 38
Silvia Macovei 19.2 39 = Database browsing =
Jean-Vincent Drean 7.1 40
Silvia Macovei 19.2 41 == DbVisualizer ==
Jean-Vincent Drean 7.1 42
Manuel Smeria 27.2 43 [[DbVisualizer>>http://www.dbvis.com/download/]] natively supports these DBs:
Jean-Vincent Drean 7.1 44
45 * DB2 for Windows/Linux
46 * JavaDB/Derby
47 * MySQL
48 * PostgreSQL
Manuel Smeria 27.2 49 * [[and more>>http://www.dbvis.com/features/tour/supported-databases/]]
Jean-Vincent Drean 7.1 50
Manuel Smeria 27.2 51 Any DB using the corresponding JDBC driver:
Jean-Vincent Drean 7.2 52
Manuel Smeria 27.2 53 * Example: HSQLDB by using the driver bundled with XWiki

Get Connected