/OmniDB

Web tool for database management

Primary LanguageJavaScriptMIT LicenseMIT

Next Release: 2.13.0 - December 13, 2018

OmniDB 2.12.0

Release Date: September 23, 2018

Release Notes

  • New features:
    • New modern look & feel on the entire web interface, components and icons
    • PostgreSQL: User now can enable/disable autocommit
    • PostgreSQL: Status of the backend is shown to the user
    • PostgreSQL: If autocommit is disabled or user starts a transaction, user can either COMMIT or ROLLBACK
    • PostgreSQL: New full-featured autocomplete component for PostgreSQL
    • PostgreSQL: Support to HASH partitions (SQL templates, treeview, properties and DDL)
    • New User options to set CSV encoding and delimiter
  • Improvements:
    • PostgreSQL: OmniDB now uses PostgreSQL server-side cursors whenever possible to always keep low OmniDB memory usage
    • PostgreSQL: Improved SELECT template for views and materialized views
    • Save title of Query Tabs
    • OmniDB debugger: Different RPM for CentOS 6 and 7
    • OmniDB plugin API: Adapted to new OmniDB look & feel
    • OmniDB plugin API: Support to pglogical, Postgres-BDR 1.0 and Postgres-XL removed from core and are now separated open source plugins
  • Bug fixes:
    • Fixed: PostgreSQL: High memory usage when returning very large dataset (using server-side cursors)
    • Fixed: Oracle/MySQL/MariaDB: QueryBlock not displaying first row of every block
    • Fixed: Click on removed node on the treeview: "Can only transpose a table with a single row"
    • Fixed: Export to XLSX does not respect locale
    • Fixed: Editor loses focus after Alt-Tab

1- Installation

1.1- Installation packages

Just go to omnidb.org, download the appropriate file for your operating system and architecture and install it.

1.2- From source

1.2.1- On Debian >= 9 with pip

sudo apt install python3-pip
pip3 install pip --upgrade
pip3 install -r requirements.txt

1.2.2- On Debian/Ubuntu using PyEnv

sudo apt install git make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc

pyenv install 3.5.2
cd OMNIDB_FOLDER
pyenv local 3.5.2

pip install pip --upgrade
pip install -r requirements.txt

1.3- Running OmniDB

Download or clone OmniDB repo and extract it somewhere. To start Django server, enter into OmniDB/OmniDB folder and type:

python omnidb-server.py

2- Introduction

OmniDB is a web tool that simplifies database management focusing on interactivity, designed to be powerful and lightweight. Check-out some characteristics:

  • Web Tool: Accessible from any platform, using a browser as a medium
  • Responsive Interface: All available functions in a single page
  • Unified Workspace: Different technologies managed in a single workspace
  • Simplified Editing: Easy to add and remove connections
  • Safety: Multi-user support with encrypted personal information
  • Interactive Tables: All functionalities use interactive tables, allowing copying and pasting in blocks
  • Smart SQL Editor: Contextual SQL code completion
  • Beautiful SQL Editor: You can choose between many available color themes
  • Tabbed SQL Editor: Easily add, rename or delete editor tabs

Technologies:

  • Python (3.5+)
  • Django

Supported Platforms:

  • Linux
  • Windows
  • OS X

Supported DBMS:

  • PostgreSQL
  • Oracle
  • MySQL / MariaDB
  • Firebird
  • SQLite
  • Microsoft SQL Server
  • IBM DB2

3- Database Schema Management

OmniDB is designed for easy database management. Here are some features:

  • Tree view showing database structure

  • Powerful table creation
    • Editing capabilities:
      • Tables' names
      • Columns: name, type and nullable
      • Primary keys and respective columns
      • Foreign keys with either table and reference columns, including updating rules and removal as well
      • Indexes

  • Table editing: Edit table structure according to DBMS limitations
  • Data management: Add, edit and remove records

  • SQL Editing
    • Syntax highlighting for SQL
    • SQL code completion for table columns and subquery
    • Multiple themes to be selected

  • Support for external tools:

  • Other features:

    • Querying organized in tables
    • DDL commands execution
    • SQL history
    • Graphs displaying tables and their relations

  • Graphs displaying complete ER diagram

  • Visualization of explain plan

  • PL/pgSQL function debugger (requires a plugin, please see here)

  • Monitoring dashboard