Enterprise managers built on top of pgAdmin
Tags: postgres, apacheage, pem, database
Published: 2023-08-15 17:50:51

## What is pgAdmin?

pgAdmin is the most popular and feature rich Open Source administration and development platform for PostgreSQL, the most advanced Open Source database in the world.
PgAdmin allows you to manage your PostgreSQL or EDB Postgres databases from a graphical user interface or a web browser. 

pgAdmin is designed to be easy to use for beginners and experts alike. It **supports all the features of PostgreSQL from version 9.5 to 14**, as well as **EDB Postgres Advanced Server from version 9.6 to 13. **

pgAdmin is **available for Windows, Linux, and Mac OS X platforms**, and can be downloaded for free from the official website.

## What are enterprise managers?
Enterprise managers are comprehensive management tools that extend the functionality of `pgAdmin` by providing additional features that are essential for enterprise-level database administration and development. 

### Some of these features include:

- Monitoring the performance, health, and activity of your PostgreSQL or EDB Postgres servers and databases in real time. You can view metrics such as CPU, memory, disk, network, sessions, locks, transactions, queries, replication, backups, logs, and alerts. 

- Allow You to create custom dashboards and charts to visualize the data that matters to you.

- Setting up notifications and actions based on predefined or custom rules and thresholds. You can receive alerts via email, SMS, or SNMP when something goes wrong or needs your attention. 

- Help you to optimize the performance of your PostgreSQL or EDB Postgres servers and databases by providing recommendations and tools for tuning various parameters and settings. 

- Assist you to protect your data and ensure its availability by offering backup and recovery solutions for your PostgreSQL or EDB Postgres servers and databases. You can schedule full or incremental backups, restore data from backups or point-in-time recovery (PITR), verify backup integrity, encrypt backup files, compress backup size, and manage backup storage.

- Allow you to analyze the performance of your SQL queries and statements by providing tools for profiling and debugging. You can capture and view the execution plans of your queries and identify slow or problematic queries. 

- Enable you to manage your team members and their access to your PostgreSQL or EDB Postgres servers and databases by providing features for role-based security and auditing.

## How to get started with enterprise managers?

One of the most popular enterprise managers for PostgreSQL and EDB Postgres is **Postgres Enterprise Manager (PEM)**, which is developed by **EnterpriseDB**, which is the leading provider of enterprise-class products and services based on PostgreSQL. 
PEM is built upon pgAdmin, which means that it inherits all the features of PgAdmin plus the additional features mentioned above.
PEM is compatible with all versions of PgAdmin

To get started with PEM, you need to download the installer from the [official website](https://www.enterprisedb.com/docs/pem/latest/installing/) or use a package manager such as `yum` or `apt-get` if you are using Linux. You **need to install two components**: the **PEM server** and the **PEM agent**. The PEM server is the central component that manages the communication between the PEM agents and the web interface. The PEM agent is the component that collects the data from the PostgreSQL or EDB Postgres servers and databases that you want to monitor and manage. You need to install the PEM server on one machine, and the PEM agent on each machine that hosts a PostgreSQL or EDB Postgres server or database. You can also install the PEM agent on the same machine as the PEM server if you want to monitor and manage the local server or database.

After installing the PEM server and the PEM agent, you need to register the PEM agent with the PEM server using the **pemworker utility**. 
This utility allows you to specify the connection details of the PEM agent and the PostgreSQL or EDB Postgres server or database that you want to monitor and manage. You can also use this utility to update, unregister, or remove the PEM agent.

Once you have registered the PEM agent with the PEM server, you can access the web interface of PEM by opening a browser and navigating to the URL of the PEM server. **The default URL is `http://localhost:8080/pem`**. **You need to log in with your username and password, which are admin and admin by default**. You can change them later in the preferences menu.

The web interface of PEM consists of three main areas: 

1. **The dashboard:**
It displays an overview of your PostgreSQL or EDB Postgres servers and databases, as well as their status, metrics, alerts, and charts. 

2. **The browser:**
It allows you to navigate through your servers and databases, as well as their objects and properties. 

3. **The workspace:**
It allows you to perform various tasks such as creating and editing objects, running SQL queries and scripts, viewing data and query plans, generating reports and charts, and accessing other tools such as monitoring, alerting, tuning, backup and recovery, SQL profiling, team management, and auditing.

You can use the web interface of PEM to monitor and manage your PostgreSQL or EDB Postgres servers and databases as you wish. You can also use pgAdmin as a standalone application or a plugin for PEM if you prefer a graphical user interface over a web browser. You can switch between pgAdmin and PEM by clicking on the pgAdmin or PEM icons in the toolbar.

## Apache AGE
Please Visit [Apache AGE](https://age.apache.org) which is A Graph Extension to very popular Database PostgreSQL, and visit [AGE's Github repository](https://github.com/apache/age) if you want to contribute.

## Conclusion

In this post, I have explained what pgAdmin and enterprise managers are, why they are useful for PostgreSQL and EDB Postgres users, and how you can get started with them, in last I have introduced very powerful Graph Database AGE.

I hope you have found this post informative and helpful. 

If you have any questions or feedback, please feel free to leave a comment below.

**Thank you for Reading**