DBA
The full distributions of BaseX are equipped with a browser-based database administration interface, the DBA. It allows you to create and administrate databases, evaluate queries in real time, view log files, monitor logged-in users, manage users, etc. The server-side code is completely written in XQuery and RESTXQ.
These were our design goals:
- The code base is supposed to inspire and motivate you developing your own RESTXQ web applications.
- The XQuery DBA code is very lean; it consumes less than 150 KB. It uses plain and simple JavaScript and no framework.
- We tried to make the DBA features as self-explanatory as possible. All functionalities are also available via Commands, XQuery Functions or the Graphical User Interface.
- The
dba
subdirectory can simply be copied and moved to any other place. All URL paths point to the same directory; it should be straightforward to adjust the RESTXQ path.
If you put DBA online along with your web page, please ensure at the very least…
- that you have chosen a strong password for your
admin
user, and - that the BaseX process has not been started with admin privileges.
Startup
- Download the ZIP Archive or the Windows Installer from the download page
- Start the BaseX HTTP Server
- Open a browser and visit the URL
http://localhost:8080/dba
On the welcome page, you need to authenticate yourself by entering the name and password of a user with admin permissions.
Logs
All database logs are listed, ordered by creation time in descending order. The interactive filter allows you to search in the users and text columns via regular expressions. The found substrings are highlighted in the output.
For each day, a new log files is created. Old log files can be selected and deleted.
Databases
The database panel contains a list of all databases. Databases can be created, optimized and dropped. If a database is selected, the database resources, backups and properties are listed. Queries can be run on single database resources.
Queries
XQuery expressions can be run in the Queries panel. If evaluation takes too long, or if it consumes too much memory, the execution will be interrupted. You can choose if your query is updating or not.
Inside the editor area, you can press Ctrl-Enter to execute the query. You can press Shift-Ctrl-Enter to run your XQuery expression as updating query (or non-updating, if “Updating” is chosen in the dropdown menu).
Existing queries can be opened, and saved for future operations. All files will be stored in the current DBA working directory.
Files
Remote files can be downloaded, opened in the query editor or run as BaseX jobs, and new files can be uploaded. The chosen directory affects the Queries panel.
You can edit your RESTXQ code in real time by switching to the RESTXQ or repository directory and opening the corresponding modules.
Jobs
In the Jobs panel, all queries are listed that are currently being run or queued. You can view details on particular jobs, spot potential bottlenecks, or spot and terminate malicious requests. The panel will always list at least one job, which is the one that is currently preparing your HTTP response.
Users
Existing users can be updated and new users can be created. Extra information can be viewed and modified both globally and locally (see User Management for more information).
Sessions
The Web Sessions table lists all users that are currently registered in an application or the DBA. See the DBA RESTXQ code for information on how clients can be registered and logged out.
The Database Sessions table shows clients that are connected via the client/server architecture.
Settings
In the settings, you can tweak some DBA options, enforce a garbage collection and view all current global and local databases options.
Changelog
Version 9.4- Updated: Logging was improved for millions of log entries
- Updated: Always accessible, even if job queue is full
- Removed: Remote connections (to allow for better optimizations and less locking)
- Added: Editor: Key combination 'Shift-Ctrl-Enter', real time mode removed.
- Added: Web-based Database Administration added.