# OmniDB **Repository Path**: lanshengjun/OmniDB ## Basic Information - **Project Name**: OmniDB - **Description**: OmniDB 是一个开源的基于浏览器的数据库管理工具 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 31 - **Created**: 2018-11-28 - **Last Updated**: 2024-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 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](https://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 ![](https://omnidb.org/images/screenshots/screen00.png) Technologies: - Python (3.5+) - Django Supported Platforms: - Linux - Windows - OS X Supported DBMS: - [X] PostgreSQL - [X] Oracle - [X] 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 ![](https://omnidb.org/images/screenshots/treeview.png) - 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 ![](https://omnidb.org/images/screenshots/screen05.png) - Table editing: Edit table structure according to DBMS limitations - Data management: Add, edit and remove records ![](https://omnidb.org/images/screenshots/screen07.png) - SQL Editing - Syntax highlighting for SQL - SQL code completion for table columns and subquery - Multiple themes to be selected ![](https://omnidb.org/images/screenshots/screen06.png) - Support for external tools: - [pglogical](https://www.2ndquadrant.com/en/resources/pglogical/) - [Postgres-BDR](https://www.2ndquadrant.com/en/resources/bdr/) - [Postgres-XL](https://www.2ndquadrant.com/en/resources/postgres-xl/) - Other features: - Querying organized in tables - DDL commands execution - SQL history - Graphs displaying tables and their relations ![](https://omnidb.org/images/screenshots/screen02.png) - Graphs displaying complete ER diagram ![](https://omnidb.org/images/screenshots/screen01.png) - Visualization of explain plan ![](https://omnidb.org/images/screenshots/execution_plan.png) - PL/pgSQL function debugger (requires a plugin, please see [here](https://github.com/OmniDB/OmniDB/blob/master/omnidb_plugin/README.md)) ![](https://omnidb.org/images/screenshots/debugger.png) - Monitoring dashboard ![](https://omnidb.org/images/screenshots/monitoring_dashboard.png)