Simplify database administration tasks by using graphical administration tools for PostgreSQL and MySQL databases.
I'm not a database guru, so for me, getting into and working with the guts of databases isn't always easy. For the limited amount of time I have to work with databases, I like using GUI tools to help me complete my tasks. Also, when you use administration tools, there's often no need to worry about the various SQL command-line differences between databases—or at least not as much. Although diehard SQL administrators and DBAs will probably disagree with me, graphical database tools can and will make your experience with databases a little less complex and cumbersome.
Although a community project, and not directly supported and created by PostgreSQL, pgAdmin provides a powerful administration interface to PostgreSQL databases, and you must be running at least Version 7.3 of PostgreSQL. The project supports many platforms, including Windows 2000 and above, Linux, FreeBSD, and Mac OSX, and it allows for native access to the databases, which means that no ODBC connector is necessary to use the software.
Some of the useful tasks pgAdmin allows you to complete are editing PostgreSQL configuration files, performing vacuum maintenance on PostgreSQL 8.1 and above, viewing log files, and viewing the server status and processes. After you download a copy for your distribution, you can start adding connections to servers. Remember, you'll need remote access to any remotely located systems. Contact your DBA, or set the correct permissions on the systems to allow connections from the client.
To create a new connection, either navigate to File > Add Server or use the icon at the top of the toolbar. The Properties window opens, which allows you to fill in the details of the database connection. The Name field is the name of the connection you want displayed in the menu. Fill in the Host and Port settings to accurately identify your connection details. The Maintenance DB is the database name you want to connect to, and the DB restriction options allow you to restrict views of tables or databases. The Help button at the bottom explains all options in greater detail if you want to read the documentation.
After you create and save the database connection, all server connections are displayed on the left side of the panel. Right-click the database name to initiate the connection. Almost all options or actions can be seen or initiated by right-clicking any tab or name on the menu list. To perform maintenance on a database, right-click the database and choose the option. Maintenance options allow you to vacuum, analyze, or re-index the selected database.
As another example, to use pgAdmin to create a backup of any database, right-click the name and choose Backup.
Once you drill down through the objects in the menu, you'll eventually find all the database tables. When you're on an actual table, all the options in the toolbar will appear to light up. Each icon explains what it does when you hover over it, so I won't explain in detail.
The icons you'll probably use the most are SQL command and view table data. To view table data, highlight a table and select the icon that looks like a table. All the data in that table will be displayed for you. At this point, you can edit the data in place, if need be, or apply sort filters to the data. When you have a table highlighted, be very careful not to hit the icon that looks like a trash can with green recycling arrows on it. This icon actually drops the currently selected object.
To open the PostgreSQL configuration files, choose File > Open postgresql.conf, pg_hba.conf, or .pgpass. You will need to have permissions to these files. For instance, on a RHEL/CentOS server, these files reside in /var/lib/pgsql/data/, and you must be either root or the user postgres to access these files.
One of the downsides to pgAdmin is that it lacks the graphical interface to create credentials on the databases. Although you can view the roles already in place and see what their abilities are, you still need to drop to the SQL command window to create or alter roles.
The GUI tools for MySQL are actually a few separate tools. The administration interface is called none other than MySQL Administrator. The query tool is a separate tool called MySQL Query Browser. Last, a tool that I won't cover here but might be interesting to investigate is the MySQL Migration Toolkit. This toolkit is used to assist administrators in migrating other relational database schemas and data over to MySQL formats.
As with pgAdmin, MySQL supports many OS variants. These include Windows, Mac OSX, and Linux flavors such as Red Hat, Fedora, and SuSE. Also, zipped source files are available for any other OS you need to compile the tools on. You can find these downloads at the MySQL Web site.
The MySQL tools are directly created and maintained by the MySQL project. In this regard, you'll find the tools a bit more polished and mature than the pgAdmin tools for PostgreSQL. Again, ensure you have permissions to connect to any MySQL databases and then start the MySQL Administrator. The first screen displayed looks like the image below.
All of the menu options are self-explanatory. From here, you can view and administer users directly, watch server thread and user connections, check system health, monitor server logs, back up, restore, and view or create database catalogs within the MySQL instance. The user administration is very nicely laid out. It allows you to create new users or edit existing users on the system. The other portion I really like is the ability to grant schema privileges from the same window. Sometimes you struggle to find the right command line combinations to give users access. From here, it's all point-and-click!
The Catalogs section houses all your database schemas. To create a new database, right-click anywhere in the menu of other databases and choose Create Schema, or highlight an existing one and all the details appear in the screen. You can view all the tables, indices, views, and stored procedures, as well as edit or create any of the said items. Creating views and stored procedures requires a bit of SQL knowledge, though, since there's no graphical wizard to assist you.
Once you have a table highlighted, you can perform maintenance procedures from directly within this window as well. Highlight the table or tables you want to perform these procedures on, and then click the Maintenance button at the bottom. This opens up the following screen, where you can optimize, check, or repair tables.
If you need help, the help manual is a great reference. This interface is pretty self-explanatory in and of itself.
Although still not a full-blown GUI query browser, the MySQL Query tool is a bit more advanced than pgAdmin's interface in this regard. When first connecting, you'll be asked for user credentials to access the databases. Once logged in, you can select the database to work with by double-clicking to navigate through the list. When you double-click a column within a table, it's added to the SQL commands above, allowing you to chain searches together.
For instance, I'm a fisherman, and I started to keep track of some data lately in anticipation of this article. If I wanted to see the temperature and the weather status together, I would double-click each column to add it to the search and then execute the query to get the complete list.
To edit data, highlight the entire table from the database, execute the query to get the entire result, and then click the Start Editing button at the bottom. This allows you to edit any fields that are editable.
Similar to pgAdmin, MySQL Query Browser also doesn't contain a full GUI to create and store queries. To create a query, you'll still need to know enough SQL syntax to navigate around. All syntax, functions, and parameters are explained at the bottom right side of the screen.
A very useful feature of the program is the ability to store or bookmark previous queries that you have entered into the SQL command window. Once you've finished your SQL command, hit Execute to perform the search and then navigate to Query > Bookmark to save the query. Now, in the Bookmarks tab, your query will be saved to access later.
I've only skimmed the surface of the many features of both pgAdmin and the MySQL GUI tools in explanation and demonstration. Both tools are relatively easy to navigate, and both provide very useful help menus. Many folks prefer not to dabble around an SQL command line because they fear harming data or lack knowledge about database administration. Using these two database tools, however, should provide you some easier ways to handle simple tasks such as creating users, editing or exporting tables, and performing backups.