Thursday, May 24

William’s PlanetPostgreSQL

OmniDB: Console Tab

2ndQuadrant, OmniDB, William's PlanetPostgreSQL
Introduced in OmniDB 2.6.0, the new OmniDB Console Tab provides an easy and comfortable way to interact with your databases. Users familiar with the psql command line utility will find that Console Tab behaves very similarly. In fact, many of the backslash commands Console Tab provides are present in psql. For example, \? shows a list with all commands available, its syntax and description. The command \h can be another friend of yours, because it shows a comprehensive help about any PostgreSQL SQL command. The editor on the bottom of the tab area is full-featured just like the Query Tab editor (it provides syntax highlight and autocomplete with Ctrl-Space). To execute a command, just type it in this editor. If the command is a backslash (starts with \), just type Enter and (more…)

Oracle with OmniDB

OmniDB, William's PlanetPostgreSQL
OmniDB was designed to allow users to manage multiple databases from different RDMBS within an unified workspace. The philosophy is to use the same familiar web interface (same structures, icons, context menu and handy features such as SQL Autocomplete, Create/Edit Table Form and Edit Data) so the user feels comfortable and confident to manage different systems as if they are just different connections from the same system. OmniDB 2.5.0 introduces basic support to Oracle databases. Users can connect and interact with Oracle databases the same way the tool already does for PostgreSQL databases. Oracle versions 11g and 12c are supported. Let's connect to Oracle databases As you can see below, I already have some OmniDB connections. Now let's connect to Oracle right away, click on New (more…)

OmniDB: Monitoring Dashboard

OmniDB, William's PlanetPostgreSQL
OmniDB 2.4.0 introduces a new cool feature called Monitoring Dashboard. We know a picture is worth a thousand words, so please take a look: As you can see, this is a new kind of inner tab showing some charts and grids. This Monitoring inner tab is automatically opened once you expand the tree root node (the PostgreSQL node). You can keep it open or close it at any time. To open it again, right-click the root node and click on Dashboard. The dashboard is composed of handy information rectangles called Monitoring Units. Currently there are 3 types of Monitoring Units: Grid: The most simple kind, just executes a query from time to time and shows the results in a data grid. Chart: Every time it refreshes, it renders a new complete chart. The old set of values is (more…)

pglogical with OmniDB

OmniDB, pglogical, William's PlanetPostgreSQL
1. Introduction pglogical is an extension that provides an advanced logical replication system that serves as a highly efficient method of replicating data as an alternative to physical replication. Here we will show how to build a test environment to play with PostgreSQL and pglogical, and how to configure it using the OmniDB 2.2 web interface. 2. Building test environment Let's build a 2-node test environment to illustrate how to configure PostgreSQL and pglogical within OmniDB. 2.1. Pull OmniDB repo The first thing you need to do is to download OmniDB repo from GitHub and make sure you are in the development branch. Run the following: git clone https://github.com/OmniDB/OmniDB cd OmniDB git checkout dev 2.2. Create 2 virtual machines with (more…)

Postgres-XL with OmniDB

OmniDB, William's PlanetPostgreSQL
1. Introduction Postgres-XL (or just XL, for short) is an open source project from 2ndQuadrant. It is a massively parallel database built on top of PostgreSQL, and it is designed to be horizontally scalable and flexible enough to handle various workloads. Here we will show how to build a test environment to play with XL and how to configure it using the OmniDB 2.2 web interface. 2. Building test environment In this experiment, we will build a cluster with 1 GTM, 1 coordinator and 2 data nodes. It would be simpler to put them in the same virtual machine, however split them across multiple virtual machines is a more realistic scenario. So we will build 3 virtual machines: Machine IP Role xl_gtmcoord 192.168.56.105 GTM and coordinator xl_datanode1 192.168.56. (more…)

Postgres-BDR with OmniDB

OmniDB, William's PlanetPostgreSQL
1. Introduction Postgres-BDR (or just BDR, for short) is an open source project from 2ndQuadrant that provides multi-master features for PostgreSQL. Here we will show how to build a test environment to play with BDR and how to configure it using the OmniDB 2.1 web interface. 2. Building test environment Let's build a 2-node test environment to illustrate how to configure BDR within OmniDB. 2.1. Pull OmniDB repo The first thing you need to do is to download OmniDB repo from GitHub and make sure you are in the development branch. Run the following: git clone https://github.com/OmniDB/OmniDB cd OmniDB git checkout dev 2.2. Create 2 virtual machines with BDR On your host machine, you need to have installed: VirtualBox Vagrant Vagrant plugin (more…)

PostgreSQL 10 Logical Replication with OmniDB

OmniDB, William's PlanetPostgreSQL
1. Introduction Logical replication uses a publish/subscribe model and so we create publications on the upstream (or publisher) and subscriptions on downstream (or subscriber). For more details about it, please refer to this blog post from my colleague Petr Jelinek, and also to the PostgreSQL documentation. Here we will show how to build a test environment to play with this new feature from PostgreSQL 10, and how to configure it using OmniDB 2.1. 2. Building test environment Let's build a 2-node test environment to illustrate how to configure PG10 logical replication feature within OmniDB. 2.1. Pull OmniDB repo The first thing you need to do is to download OmniDB in the repo from GitHub and make sure you are in the development branch. Run the following: 2.2. Create 2 virtual (more…)

OmniDB: Average execution time of PostgreSQL webmethods

OmniDB, William's PlanetPostgreSQL
1. Introduction Being a web application, OmniDB is composed of many webmethods. A webmethod is a special kind of function hosted on the server side (the web server), called from the client side (the web browser), when the user performs some action on OmniDB web interface. For instance, OmniDB has several webmethods that know how to communicate with all supported versions of PostgreSQL. This set of webmethods is called PostgreSQL webmethods of OmniDB. We automated the execution of all PostgreSQL webmethods through the Django unit tests feature. For each supported version of PostgreSQL (from 9.2 to 9.6 and also 10), there are 56 unit tests that simulate common user behavior. The database used for the tests is a well known PostgreSQL sample called dellstore2. Using vagrant, we (more…)