Sling Academy
Home/PostgreSQL/How to set up PostgreSQL and pgAdmin on Mac

How to set up PostgreSQL and pgAdmin on Mac

Last updated: January 04, 2024

Overview

Setting up and managing PostgreSQL databases on a Mac is streamlined with pgAdmin, the leading graphical open-source administration tool for Postgres. This guide covers installation and initial configuration steps to ensure you can get up and running with your databases efficiently.

Prerequisites

Before diving into the installation process, ensure that your Mac meets the following requirements:

  • An internet connection for downloading the necessary files.
  • macOS (details for compatibility can be checked on PostgreSQL and pgAdmin official sites).
  • Administrative access to your Mac for the installation of software.

Install PostgreSQL on Mac

To install PostgreSQL, follow these steps:

  1. Go to the PostgreSQL official download page and choose a version of PostgreSQL that is suitable for your version of macOS.
  2. Download the interactive installer by EDB for the desired version.
  3. Open the downloaded file and proceed through the installation wizard.
  4. During installation, take note of the password you set for the ‘postgres’ user as it will be necessary for managing databases.
  5. After installation, PostgreSQL server should start automatically. You can check this by using the command line with the following command: psql -U postgres.

Install pgAdmin on Mac

To install pgAdmin, follow the steps below:

  1. Navigate to pgAdmin’s download page and select the version that corresponds with your PostgreSQL version.
  2. Download the pgAdmin installer.
  3. Open the downloaded dmg file and drag pgAdmin to the Applications folder.
  4. Launch pgAdmin from your Applications or Spotlight; it will open in your default web browser.
  5. When you open pgAdmin for the first time, it will ask you to set a master password to secure the encrypted storage of your database passwords.

Configure pgAdmin to Connect to Local PostgreSQL

Once pgAdmin is installed, the next step is to connect it to your local PostgreSQL server:

  1. Open pgAdmin. In the ‘Browser’ pane, right-click on ‘Servers’ and select ‘Create’ > ‘Server…’
  2. In the ‘Create – Server’ dialog box, enter a name for your local server in the ‘Name’ field.
  3. Switch to the ‘Connection’ tab, enter ‘localhost’ in the ‘Hostname/Address’ field, and ‘5432’ for the ‘Port’ if you are using the default.
  4. In the ‘Username’ and ‘Password’ fields, enter ‘postgres’ and the password you set during PostgreSQL installation then click ‘Save’.

Basic PostgreSQL Tasks using pgAdmin

Below are some basic tasks that can be done through pgAdmin.

Creating a new database:

  1. Right-click on ‘Databases’ in the ‘Browser’ pane and select ‘Create’ > ‘Database…’
  2. Enter the database name and adjust any settings if necessary before clicking ‘Save’.

Running SQL queries:

  1. Select the target database and then click the ‘Query Tool’.
  2. In the query editor, you can write and execute your SQL commands, such as SELECT * FROM your_table;

Backing up a database:

  1. Right-click on the database in the ‘Browser’ pane, hover over ‘Backup…’.
  2. Choose the format and the target file for the backup, then click ‘Backup’.

Restoring a database:

  1. Right-click on ‘Databases’, select ‘Create’ > ‘Database…’ and create a new database for restoring from backup.
  2. Right-click on the newly created database, select ‘Restore…’ and navigate to your backup file.
  3. Adjust the restore options as needed and click ‘Restore’.

Advanced PostgreSQL Features

Once you’re comfortable with the basics, explore advanced features like:

  • User and role management
  • Table partitioning
  • Using extensions and foreign data wrappers
  • Advanced security configurations

For example, managing users and their roles would involve SQL commands like:

CREATE ROLE myuser WITH LOGIN PASSWORD 'securepassword';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;

Note on Security

When using PostgreSQL and pgAdmin, security is paramount. Always:

  • Use strong, unique passwords for your ‘postgres’ account and pgAdmin master password.
  • Keep your PostgreSQL and pgAdmin software up-to-date to benefit from the latest security fixes.
  • Avoid exposing the PostgreSQL server port (5432 by default) to the internet unless necessary, and use a VPN for remote administration.

Conclusion

This guide has walked you through installing PostgreSQL and pgAdmin on a Mac and has given you the knowledge to perform both basic and advanced tasks. The power of PostgreSQL, coupled with the user-friendly interface of pgAdmin, will enable you to manage your databases effectively.

Next Article: How to set up and configure PostgreSQL on Ubuntu

Previous Article: How to set up PostgreSQL and pgAdmin on Windows

Series: PostgreSQL Tutorials: From Basic to Advanced

PostgreSQL

You May Also Like

  • PostgreSQL with TimescaleDB: Querying Time-Series Data with SQL
  • PostgreSQL Full-Text Search with Boolean Operators
  • Filtering Stop Words in PostgreSQL Full-Text Search
  • PostgreSQL command-line cheat sheet
  • How to Perform Efficient Rolling Aggregations with TimescaleDB
  • PostgreSQL with TimescaleDB: Migrating from Traditional Relational Models
  • Best Practices for Maintaining PostgreSQL and TimescaleDB Databases
  • PostgreSQL with TimescaleDB: Building a High-Performance Analytics Engine
  • Integrating PostgreSQL and TimescaleDB with Machine Learning Models
  • PostgreSQL with TimescaleDB: Implementing Temporal Data Analysis
  • Combining PostgreSQL, TimescaleDB, and Airflow for Data Workflows
  • PostgreSQL with TimescaleDB: Visualizing Real-Time Data with Superset
  • Using PostgreSQL with TimescaleDB for Energy Consumption Analysis
  • PostgreSQL with TimescaleDB: How to Query Massive Datasets Efficiently
  • Best Practices for Writing Time-Series Queries in PostgreSQL with TimescaleDB
  • PostgreSQL with TimescaleDB: Implementing Batch Data Processing
  • Using PostgreSQL with TimescaleDB for Network Traffic Analysis
  • PostgreSQL with TimescaleDB: Troubleshooting Common Performance Issues
  • Building an IoT Data Pipeline with PostgreSQL and TimescaleDB