As an open source object-relational database management system, PostgreSQL available for MacOS, Linux, and Windows.
The goal will be to run the following command successfully from the command line (regardless of the OS):
psql -U postgres
This should open the psql interactive shell and print a prompt that looks like:
postgres=#
Let's walk through installing PostgreSQL with the postgresapp on Mac.
- Visit http://postgresapp.com/
- Download the most recent version --> Click "Download"
- Open the application, and click "initialize" to create a new PostgreSQL server
- Ensure that the Postgres.app bin folder has been added to your $PATH;
4.1) In the command line, enter:
echo "$PATH"
4.2) Search through the output and make sure Postgres.app/Contents/Version/latest/bin is there in order to ensure that this directory's executables are callable from any directory in bash. - In the command line, enter:
lsof -i tcp:5432
, and ensure that the postgresCOMMAND
appears. This checks if the Postgres server is now running on port 5432 under the namelocalhost:postgresql
- Acquire the source code:
wget ftp://ftp.postgresql.org/pub/source/v9.3.2/postgresql-9.3.2.tar.bz2
- Install the packages needed for building Postgres:
sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison libxml2-dev libxslt-dev libssl-dev
- Download the installer specified by EnterpriseDB for all supported PostgreSQL versions. The installer is available here: https://www.postgresql.org/download/windows/
Windows supplement
It is not recomended to install in the default location which is ProgramFiles since this will place your database files in the Progams directory as well.
If the installer fails durring the C++ 2013 runtime install, you probably already have a version of C++ 2013.
You can solve this issue by openening a cmd window in your installer directory and enter:
postgresql-10.4-1-windows-x64.exe --install_runtimes 0
Be sure to select a directory other than ProgramFiles.
The installer should by default install PostgreSQL as a service and start the service.
In order to start and stop the service you will need to be running a cmd window as administrator or open the Windows Services dialog.
You can use the following cmd commands to start and stop the PostgreSQL service.
This assumes your service was named "postgresql-x64-10"
The Windows Services dialog will have the exact name of your installed service if you need to confirm this.
In order to use the documented pg_ctl command, you will need to set the following environmental variables in your system.
The following assumes you installed PostgreSQL in C:\PostgreSQL
Add to System variables Path:
C:\PostgreSQL\10\bin
Create the following new System variables
PGDATA
C:\PostgreSQL\10\data
PGDATABASE
postgres
PGUSER
postgres
PGPORT
5432
PGLOCALEDIR
C:\PostgreSQL\10\share\locale
If your Windows PostgreSQL service is still running, you should now be able to control the server via the documented pg_ctl commands documented here
If you open a new cmd window and type
pg_ctl status
you should see something likeBe aware that these commands override your windows service commands.
This means that if you stop and start the server via the pg_ctl commands it will then be running under the cmd and not the service, therefore; if you close the current cmd window it will shut down your server.