Downloads of v


Last Update:

15 Feb 2016

Package Maintainer(s):

Software Author(s):

  • pgsql developers


postgresql database sql

PostgreSQL 9.4

This is a prerelease version of PostgreSQL 9.4.

  • 1
  • 2
  • 3 | Updated: 15 Feb 2016



Downloads of v



Software Author(s):

  • pgsql developers

  • 1
  • 2
  • 3
PostgreSQL 9.4

This is a prerelease version of PostgreSQL 9.4.

  • 1
  • 2
  • 3

This Package Contains an Exempted Check

Not All Tests Have Passed

Validation Testing Passed

Verification Testing Exemption:

Depends on vcredist140 which requires reboot


Scan Testing Successful:

No detections found in any package files


To install PostgreSQL 9.4, run the following command from the command line or from PowerShell:


To upgrade PostgreSQL 9.4, run the following command from the command line or from PowerShell:


To uninstall PostgreSQL 9.4, run the following command from the command line or from PowerShell:


NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Enter your internal repository url

(this should look similar to

4. Choose your deployment method:

choco upgrade postgresql9 -y --source="'STEP 3 URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:

choco upgrade postgresql9 -y --source="'STEP 3 URL'"

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0

Exit $exitCode

- name: Ensure postgresql9 installed
    name: postgresql9
    state: present
    source: STEP 3 URL

See docs at

chocolatey_package 'postgresql9' do
  action    :install
  version  ''
  source   'STEP 3 URL'

See docs at

    Name: postgresql9,
    Source: STEP 3 URL

Requires Otter Chocolatey Extension. See docs at

cChocoPackageInstaller postgresql9
   Name     = 'postgresql9'
   Ensure   = 'Present'
   Version  = ''
   Source   = 'STEP 3 URL'

Requires cChoco DSC Resource. See docs at

package { 'postgresql9':
  provider => 'chocolatey',
  ensure   => '',
  source   => 'STEP 3 URL',

Requires Puppet Chocolatey Provider module. See docs at

salt '*' chocolatey.install postgresql9 version="" source="STEP 3 URL"

See docs at

5. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package is exempt from moderation. While it is likely safe for you, there is more risk involved.

This package installs PostgreSQL 9.4. The creation of a package dedicated to the release version matches the distribution methodology employed by EnterpriseDB on Linux, and thus protecting against unwanted or unexpected upgrades.

Installs to %ChocolateyBinRoot%\postgresql9
By default %ChocolateyBinRoot% is C:\tools

Creates the user: postgresql with password: Postgres-1234
Creates, and starts, a Windows Service for PostgreSQL named: postgresql94

This release forked from the PostgreSQL package ( by FerventCoder (


## Installs PostgreSQL for Windows from EnterpriseDB

## Installer Includes pgAdminIII

## Install Location, Service, and User
* Installs to **%ChocolateyBinRoot%\postgresql94**
* By default %ChocolateyBinRoot% is C:\tools

* Creates the user: **postgresql** with password: **Postgres-1234**
* Creates, and starts, a Windows Service for PostgreSQL named: **postgresql94**

## Service Control
* Run these commands from an elevated shell prompt

### Start the Service
net start PostgreSQL

### Stop the Service
net stop PostgreSQL

### Delete (remove) the Service
* **The Program Uninstaller will complain about the missing Service when you uninstall PostgreSQL, but you can safely ignore the warning.**
sc delete PostgreSQL

## Package name
* The **postgresql94** package name was chosen to mirror the **postgresql94** package name on RHEL Linux:

## This version was originally forked from ferventcoder
* ***On***
* ***On GitHub:***

try { 
  $toolsDir ="$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
  Start-ChocolateyProcessAsAdmin "& $($toolsDir)\installpostgre.ps1"

  Write-ChocolateySuccess 'postgresql'
} catch {
  Write-ChocolateyFailure 'postgresql' "$($_.Exception.Message)"

# 9.1.1-1
# $postgresql_exe_url64 = ''
# $postgresql_exe_url32 = ''

# 9.2.1-1
# $postgresql_exe_url64 = ''
# $postgresql_exe_url32 = ''

# 9.3.5-1
# $postgresql_exe_url64 = ''
# $postgresql_exe_url32 = ''

# 9.4.0-1
$postgresql_exe_url64 = ''
$postgresql_exe_url32 = ''

$postgrePath        = "$(Get-BinRoot)\postgresql9"
$postgreAccount     = 'postgresql'
$postgrePassword    = 'Postgres-1234'
$postgreServiceName = 'postgresql9'

Write-Host "PostgreSQL Install Path:....... $postgrePath"
Write-Host "PostgreSQL Install Account....: $postgreAccount"
Write-Host "PostgreSQL Install Password...: $postgrePassword"
Write-Host "PostgreSQL Install ServiceName: $postgreServiceName"

try {

  Write-Host "Deleting and recreating $postgreAccount windows account..."
  try {
    net user $postgreAccount /delete
  } catch {
    Write-Host "Cannot delete user. User $postgreAccount doesn`'t exist. Which is perfectly fine, it will be created in the next step."

  $localUser = ([ADSI]"WinNT://$env:computername").Create("User", $postgreAccount)

  try {
    $localUserPath = "WinNT://$env:computername/$postgreAccount"
    $computer      = [ADSI]("WinNT://$env:computername,computer")
    $localGroup    = $computer.PSBase.Children.Find("Users")
    $sysInfo       = Get-WmiObject -Class Win32_ComputerSystem 
    $workGroup     = $sysInfo.Workgroup
    if ($localGroup.PSBase.Path -like 'WinNT://' + $workGroup + '*') {
      $localUserPath = "WinNT://$workGroup/$env:computername/$postgreAccount"
    if ($localGroup.PSBase.Invoke("IsMember",$localUserPath)) {
  } catch {
    write-host "Removing $postgreAccount from Users failed. Please do that manually"
    start-sleep 5
  Write-Host "The account $postgreAccount has been created with the password set to $postgrePassword. Please change the password for the $postgreAccount account and update the services to that password"
  Start-Sleep 4

  Write-Host "Creating $postgrePath folder for installation if it doesn`'t exist"
  if (![System.IO.Directory]::Exists($postgrePath)) {[System.IO.Directory]::CreateDirectory($postgrePath)}

  Write-Host "Setting folder permissions on $postgrePath to full control for user postgres"
  $acl = Get-Acl $postgrePath
  $acl.SetAccessRuleProtection($True, $True)
  $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$postgreAccount","FullControl", "ContainerInherit, ObjectInherit", "None", "Allow");
  Set-Acl $postgrePath $acl
  $installArgs = "--mode unattended --prefix $postgrePath --datadir $($postgrePath)\data --servicename $postgreServiceName --superaccount $postgreAccount --superpassword $postgrePassword --serviceaccount $postgreAccount"

  Install-ChocolateyPackage 'postgresql' 'exe' "$installArgs" "$postgresql_exe_url" "$postgresql_exe_url64"

  Install-ChocolateyPath "$($postgrePath)\bin"
  Write-ChocolateySuccess 'postgresql'
} catch {
  Write-ChocolateyFailure 'postgresql' "$($_.Exception.Message)"

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Version Downloads Last Updated Status
PostgreSQL 287 Sunday, August 15, 2021 Exempted
PostgreSQL 438 Friday, May 28, 2021 Exempted
PostgreSQL 229 Friday, May 14, 2021 Approved
PostgreSQL 391 Friday, April 9, 2021 Approved
PostgreSQL 582 Friday, February 12, 2021 Approved
PostgreSQL 1049 Saturday, November 14, 2020 Approved
PostgreSQL 1562 Friday, August 14, 2020 Approved
PostgreSQL 73 Thursday, August 13, 2020 Approved

This package has no dependencies.

Discussion for the PostgreSQL 9.4 Package

Ground Rules:

  • This discussion is only about PostgreSQL 9.4 and the PostgreSQL 9.4 package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or PostgreSQL 9.4, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus