Wow, it had been a long time since I last started Postgres on my Mac computer (a MacBook Pro, to be specific), and it took almost almost 20 minutes to remember how to do it. So, to keep that from happening again, here's a quick tip on how to start Postgres (Postgresql) on a Mac OS X computer.
Step 1: Log in as the postgres user
A long time ago I followed this Apple tutorial on how to install Postgress on a Mac. After I finished that installation, a "postgres" user account was created on my Mac during the installation process.
So, Step 1 of starting Postgres is to open a Terminal window, and switch over to that user account, like this:
su - postgres
After issuing this command, you'll also need to provide the password for the "postgres" user.
Step 2: Issue the startup command
Once you're logged in as the postgres user, you just need to make sure your path includes the Postgres
bin directory, and then issue the command to start Postgres. Here's how I include the Postgres
bin directory in my path:
And here's the command I use to start the Postgres server:
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start
(As you can see from these commands, the root directory of the Postgres server on my Mac computer is
Bonus: How to create and connect to a Postgresql database
As a quick bonus (and a reminder to myself), here's how you create and then use a Postgres database. First, the command to create a new Postgres database named
Next, you can connect to this new
test database with the following command:
Note that I'm doing all this without specifying the database user I want to connect as. Postgres is smart enough to see that I'm logged in as the
postgres user, and it lets me right in. To demonstrate this, if I switch over to a different Terminal and try to log in from my normal "al" user account, I get the following error message:
prompt> psql test psql: FATAL: role "al" does not exist