Search code examples
postgresql

starting postgresql and pgadmin in windows without installation


How can I start PostgreSQL and pgAdmin III in windows without installation. I do not have admin rights in a system. so I need to start the application without installing . How can I do that?


Solution

    1. Download the ZIP file from https://www.enterprisedb.com/download-postgresql-binaries

    2. Unzip the archive into a directory of your choice (the archive is created such that unzipping it, it will create a directory pgsql with everything else below that)

    3. Run initdb (this can be found in the subdirectory pgsql\bin)

       initdb -D c:\Users\Arthur\pgdata -U postgres -W -E UTF8 -A scram-sha-256
      

      This will create the postgres "data directory" (aka the "cluster") in c:\Users\Arthur\pgdata. You need to make sure that the user running this command has full read/write privileges on that directory.

      -U postgres creates the superuser as postgres, -W will prompt you for the password of the superuser, -E UTF8 will create the database with UTF-8 encoding and -A scram-sha-256 enables the password authentication.

    4. To start Postgres, run:

       pg_ctl -D c:\Users\Arthur\pgdata -l logfile start
      

      this has(!) to be done as the user who ran initdb to avoid any problems with the access to the data directory.

    5. To shutdown Postgres, run:

       pg_ctl -D c:\Users\Arthur\pgdata stop
      
    6. psql.exe (the command line client) is located in the bin directory. Starting with Postgres 9.6 the pgAdmin executable pgAdmin4.exe is located in the sub-directory "pgAdmin 4\bin".

    7. Optionally create a Windows service to automatically run Postgres (must be run using a Windows administrator account)

       pg_ctl register -N postgresql -D c:\Users\Arthur\pgdata