Ошибка при установке postgresql на windows 10

Я не могу установить PostgreSQL, сделал все по инструкции, уже три раза сносил и заново переустанавливал, инструкция НЕ РАБОТАЕТ, или устарела. Система Windows 10.

Скачал, все есть в папке C:Program FilesPostgreSQL10

Все распаковал, все устанивилось, окно закрылось. Дальше сделал по инструкции — открыл командную строку, ввел

setx PATH «%PATH%;C:Program FilesPostgreSQL10bin»

В ответ комп пишет: «Предупреждение. Сохраненные данные будут усечены до 1024 знаков. Успех. Указанное значение сохранено.»

Далее, по инструкции закрыл командую строку, перезагрузился. И… Н-И-Ч-Е-Г-О, в командной строке при попытке ввести хотя бы psql выдается «psql» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Ну что еще то надо? Руки опускаются от этих бесконечных инструкций, которые не работают! Помогите, гуру Джанги….

Did you install postgresql with administrator-privileges?

This might be due to a privilege-issue, you can try to:

  • Create a new user account, called postgres

  • Add the new account to the Administrators and Power Users groups

  • Restart the computer

  • Run a command prompt as the postgres user, using the command:runas /user:postgres cmd.exe

  • Run the installer from the postgres command window

  • Delete the postgres user account, as well as the user directory

Another option is to:

  1. Uninstall PostgreSQL

  2. Delete the postgres user if it still exists.

     net user postgres /delete
    
  3. Create the postgres user with a password

     net user /add postgres <password>
    
  4. Add the postgres user to the Administrators group

     net localgroup administrators postgres /add
    

5a. Add the postgres user to the Power Users group

    net localgroup "power users" postgres /add

5b. Add the postgres user to the administrator’s local-group

    net localgroup Administrators postgres /add
  1. Run a command window as the postgres user

     runas /user:postgres cmd.exe
    
  2. Run the install file from within the command window.

     C:Downloadpostgresql-9.6.12-windows.exe // or whatever version you are using
    

    This should run the installation successfully.

  3. Remove the postgres user from the Administrators group.

     net localgroup administrators postgres /delete
    

as mentioned by @Imraan on DBA -> Link

Edit in regards to @Youssef’s comment:

Depending on the version and scenario, the user postgres needs to be added to administrator’s localgroup instead of power users.

Short overview about power-users from superuser SE:

Note: in Windows 7 and above, Power Users only exists for legacy purposes, and is the same as ordinary Users, unless an admin explicitly adds extra rights to the group.

Power-users may:

  • Run legacy applications, in addition to Windows 2000 or Windows XP Professional certified applications.

  • Install programs that do not modify operating system files or install system services.

  • Customize systemwide resources including printers, date, time, power options, and other Control Panel resources.

  • Create and manage local user accounts and groups.

  • Stop and start system services which are not started by default.

  • Power Users do not have permission to add themselves to the Administrators group.

  • Power Users do not have access to the data of other users on an NTFS volume, unless those users grant them permission.

I am getting the following error when trying to install PostgreSQL on my Windows 10 Machine (x64). Can anyone help me troubleshoot? Many thanks! Error screenshot below:

View post on imgur.com

asked Aug 27, 2019 at 14:11

sarahofcamb's user avatar

This happened to me as well. Turned out I couldn’t use a Domain user (even though it is an admin on the local machine). I had to log in as a local admin user, and then the installation worked. This is very weird.

answered Sep 15, 2019 at 11:22

zmbq's user avatar

zmbqzmbq

7462 gold badges6 silver badges14 bronze badges

I tried installing Postgresql-9.5.19.1-windows-x64 version (downloaded from official page) on Windows 10 x64 and it gave me the same error. I tried executing it with administrator privileges, giving permissions to the temp folder, moving temp folder to another location but nothing worked…

The solution for me was using a different version of 9.5: PostgreSQL-9.5.2-1-windows-x64.

answered Sep 17, 2019 at 14:34

Consultant's user avatar

This error happened to me to on PostgreSQL version 11.2

I elaborated in a Stackoverflow post as answer to ‘Is the server running on host “localhost” (::1) and accepting TCP/IP connections on port 5432?’ a solution. I mentioned this question thread with answers as being the solution to this error.

But in short it is what you all are saying: reinstall.

But it can be the same or a different version in my experience.

My explanation:

The general thought/assumptions:

It looks like it is pgAdmin (probably version 4) or your admin rights or one of the files mentioned above (postgresql.conf and/or pg_hba.conf).

I had the same error and even a password error (for the correct password) after being a step further by some todo’s and fixes that helped other people in previous versions;

But none of them worked for postgresql version 12.3 and/or postgresql version 11.8

Solution versions:

The only thing that helped after two hours was:
As explained in this post: ‘PostgreSQL Install fail on Windows 10 (icalcs error/acces denied)’ on the superuser forum of StackExchange:

  • Uninstall en reinstall postgresql. The official version provided by EDB through this link: postgresql.org/download; Or try a different version if you are sure this one doesn’t work for you. Therefor head to the ‘File Browser’of Postgresql: here
  • After reinstall, start pgAdmin from the Start Menu (scroll for the folder and the correct related pgAdmin; an older version could still hang around in the shortcuts and won’t start).

Note: You can keep your data map so nothing is lost!

In my case e.g.: I removed the /data folder from the (Windows 10) [Drive]/Program Files/PostgreSQL/11 and as soon as I uninstalled version 11.2 and reinstalled (earlier removed 12) version 12: when I started pgAdmin4 my former servers ([nameA] and [PostgreSQL 11] and databases ánd the new server [PostgreSQL 12] were there! And the connection was reestablished

Tried:

Earlier tried solutions that did not work in my case:

  • Question 37307346 «Is the server running on host localhost 1 and accepting tcp ip connections on port 5432?
  • Question 40532399 Unable to connect to server for postgres
  • Question 16904997 Connection refused pgerror postgresql and rails
  • Question 60532791 Timeout expired pgadmin unable to connect to server note: This was after semi solution of netstat running postgres service (port was not used before that solution; here listed as 4th item, item above).

answered Jun 17, 2020 at 22:47

sophievda's user avatar

If you have issues with permissions either after installations or after reinstalling postgres you might find help here.

Make sure you install the correct version for the data folder you have, you can check the version in that data folder under file named PG_VERSION.

  1. Install postgres with random data directory. If it doesn’t work with old data directory and you get errors about permissions or stuff like icacls then pick a fresh folder and proceed with this post.
  2. Go to registry editor and then find something like
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicespostgresql-x64-11 <- version you installed
    change imagepath to reflect the data directory
    "C:Program FilesPostgreSQL11binpg_ctl.exe" runservice -N "postgresql-x64-11" -D "{DATA_DIRECTORY like d:/db}" -w
  3. At this point the service might not even start, but check just in case it is magically working at this stage. It won’t log anything or throw any errors so don’t worry, if you do everything right it will work.
  4. Right click the data folder then go to Properites -> Security tab -> Advanced button
  5. Toggle the checkbox on the bottom «Replace all child object perm[..]»
  6. Press Add, and select principal on top, then type in the big box NETWORK SERVICE
    To make sure it works try pressing check names, it should underscore it. Then press OK, set all permissions to it. Then OK, OK, OK. You should leave the file properties approving everything.

If steps 4-6 throw out permissions errors read step 7 /

  1. Try running postgres. If for some reason you cant run postgres at this point. Then run command-line as an administrator, and type in icacls "{DATA_FOLDER}" /reset /T this will clear all the permissions that are there no matter what they are. Postgres install ought to be doing that but it’s bugged in some versions. As it was in mine.
  2. Now you can try running postgres service.
  3. At this point PG Admin didn’t really work but I managed to login using the psql.exe and I’ve dumped all the data. pg_dump -U {USERNAME} {DATABASE} > {FILENAME.EXT} Then I’ve uninstalled postgres, restarted PC, then installed the newest version and I’ve recovered the dump.

answered Dec 22, 2020 at 17:10

Ghandhikus's user avatar

Had the same problem, but I’m not comfortable downloading installers from unknown sources.

After quite some struggling (including run as different user, install from a session opned with a domain administrator account), the only thing that worked for me was to enable the local administrator command (net user administrator /active:yes), providing a password for it (net user administrator *) and then running the installer.

Hope this helps.

answered Sep 10, 2019 at 13:47

stefanu's user avatar

For me, problem was that some files inside Data folder of existing Postgres installation had cleared permissions & ownership information. I was able o fix the problem by going one level up above Data directory and re-setting the Owner of the child directories & files via standard Windows dialog. After that, re-running installer allowed icacls to set permissions & finish the installatio nsuccesfully.

answered Mar 19, 2020 at 5:50

Anatoly Alekseev's user avatar

Apparently this happens if you uninstall PostgreSQL and do not delete the «data» directory where your databases are stored. When you attempt to (re)install PostgreSQL, it fails to change permissions on that directory, because it already exists. I was able to work around this apparent bug in the installer by deleting all of C:Program FilesPostgreSQL manually. But that might not be an option if you have data in there that you haven’t backed up.

answered Mar 27, 2020 at 18:02

mayfiecs's user avatar

We had the same Problem today while upgrading from 12.1 to 12.3.
Installer (EnterpriseDB) stopped with the error while icacls — call because of missing rights…
We even ran it as local administrator.

After stopping the setup the pg — service was removed and rights in pg-data / base — folder were missing.
We run takeown /F d:PgData12* /R /A and startet the setup again. Then it worked without other problems.

answered Jun 11, 2020 at 6:05

thomas's user avatar

My solution was log in with the user caller admnistrator, can’t be other user with permissions, must be the user administrator

answered Jan 18, 2021 at 15:15

Clash's user avatar

I suspect a problem with user rights.
I was able to activate the Administrator account and perform the installation.

  1. cmd (Run as Administrator)

  2. net user administrator active: yes

  3. logout old Account and login Administrator

  4. install PostgreSQL

answered Mar 14, 2021 at 9:23

Vahap Karataş's user avatar

This page is intended to help people collect information to troubleshoot problems with the PostgreSQL Installers supplied by EnterpriseDB.

Many problems have already been identified and fixed, so make sure you’re using the installer for the latest point-release of PostgreSQL before reporting a problem.

Because some problems can’t be fixed in the installer, but are issues with the Windows installation or how it is being used, there is also a list of frequently asked questions and frequently encountered problems with PostgreSQL on Windows. Please read the common installation errors section, or preferably the whole document. You’ll probably save some time and hassle by doing so.

If you’ve tried all that, and you’re still having problems getting PostgreSQL installed, please read on to find out how you can collect the information we need to be able to help you with installation problems.

Contents

  • 1 Make sure you’re installing on a supported platform
  • 2 Try again without your virus scanner or 3rd-party firewall
  • 3 Read about other common installation problems
  • 4 Reporting an installation error
    • 4.1 Note down the basic information about your system
    • 4.2 Collect the installer log file
    • 4.3 Get the contents of the PostgreSQL server error log
    • 4.4 Extra information Windows users need to collect
      • 4.4.1 Windows: Check for messages in the Windows event log
      • 4.4.2 Windows: Check what Group Policy, if any, is active on your computer
      • 4.4.3 Windows: Take a copy of the environment variables set on the computer

Make sure you’re installing on a supported platform

See the installer download page and (for Windows) the Running & Installing PostgreSQL On Native Windows for platform support details.

Please do not ask the mailing list for help with installation on unsupported Windows platforms. However, one of the paid PostgreSQL consultants, or EnterpriseDB (who make the PostgreSQL installer) may be able to help you on a paid basis.

Try again without your virus scanner or 3rd-party firewall

The Windows FAQ discusses potential issues with antivirus software and 3rd-party firewalls. If you’re encountering any installation issues, please try again with your virus scanner uninstalled (not just disabled) to see if the problem goes away. If it does, please report the fact to the mailing list and to the vendor of your antivirus product.

Read about other common installation problems

Before reporting a problem, please read the windows FAQ to see if your problem is one we’ve already seen and found a workaround or fix for.

Reporting an installation error

To be able to help you with an installation problem, we will need you to collect some basic details about your computer and the problem. Please see the instructions below.

Note down the basic information about your system

Any problem report must include:

  • The exact words of any error message you see when the installation fails
  • The exact version of PostgreSQL you are installing
  • Whether you installed a 32-bit or 64-bit release of PostgreSQL
  • The operating system and version you are using, eg:
    • «Windows XP Professional with Service Pack 3»
    • «Mac OS X 10.4.2»
    • «Fedora Core 14»
  • Whether you are running a 32-bit or 64-bit version of your operating system
  • How you ran the installer. Command-line arguments, what user account you ran it from, etc.
  • What antivirus and/or software firewall products you have installed, if any, even if they are disabled
  • Which, if any, of the troubleshooting instructions you have already tried
  • Whether a previous version of PostgreSQL was installed, and if so:
    • whether you uninstalled it before running the new installer
    • If you uninstalled a previous version, whether you did it with the uninstaller or some other way
    • Whether you removed the postgres user/service account when you uninstalled
  • Additional details and platform-specific information as described below

Collect the installer log file

The installer creates a log file in the system ‘temp’ directory. This will log all manner of data about the installation, and is invaluable when troubleshooting. The log will be called install-postgresql.log if the installation completed successfully. If not, the installer may not have been able to rename it, in which case the name will be either bitrock_installer.log or bitrock_installer_xxx.log, where xxx is a number (actually the process ID of the installation attempt).

On Linux and Mac systems, the logfile will almost always be found in the /tmp/ directory.

On Windows, the easiest way to find the logfile is to click Start -> Run, enter %TEMP% in the box and then click OK (these instructions apply to Windows XP and 2003 — adjust as necessary for other versions).

Get the contents of the PostgreSQL server error log

The PostgreSQL server has its own error log. This may not exist if installation failed early on, but it can be very informative for errors that happened later in installation. You can find it in the «pg_log» folder inside the data directory you chose for PostgreSQL. If it exists, please include it in any problem reports.

Windows users must collect additional Windows-specific details to help troubleshoot installation issues:

  • (On Windows Vista and Windows 7): The UAC security level
  • Whether you started the installer by logging in as Administrator, started it from from your own normal user account, or ran it using the «Run As Administrator» menu option.
  • Whether your computer is a part of a Windows domain. Home computers usually are not, business computers usually are.
  • Whether your computer and network has any Group Policy configured. If you’re on a corporate windows domain you probably have group policy and need to ask your network administrator for details about it.

Windows: Check for messages in the Windows event log

Please check the Windows Event Viewer for messages that might be related to installation problems or service startup problems.

TODO: detail on how to collect and save events.

Windows: Check what Group Policy, if any, is active on your computer

TODO: instructions for collecting domain and local group policy.

Windows: Take a copy of the environment variables set on the computer

Open a command prompt and run «set». Then copy and paste the results into your problem report.

I’d be better to collect the «all users» environment from the system control panel, but it’s not easy to just dump this information.

I’m trying to install postgreSQL on my windows 10 computer for the first time. I got two errors at the end of the installation

1) a non-fatal error occured during cluster initialisation. please check the installation log in C:usersabcAppDataLocalTemp for details

2) problem running post-install step. Installation may not complete correctly.Failed to start the database-server.

I also tried a number of other (but very dated) solutions to similar problems users experienced such as moving my data directory outside of the Postgres directory entirely. Most of these solutions date back and don’t seem to work anymore.

The one that seemed closest to working is [PostgreSQL Database Cluster Initialisation Failed Solution][1]

However, I can’t find «postgres» as a user. I get an error saying: «An object named «postgres» cannot be found. Check the selected object types and location for accuracy and ensure that you typed the object name correctly, or remove this object from the selection.»

Does anybody have any updated solutions/tips for this?

Please see the logs: I have added some more logs below this.

> Log started 09/08/2017 at 15:35:34
Preferred installation mode : qt
Trying to init installer in mode qt
Mode qt successfully initialized
Executing C:UsersskumAppDataLocalTemp/postgresql_installer_c42ee2159f/temp_check_comspec.bat 
Script exit code: 0

Script output:
 "test ok"

Script stderr:


Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Data Directory. Setting variable iDataDirectory to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Service ID. Setting variable iServiceName to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Service Account. Setting variable iServiceAccount to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Super User. Setting variable iSuperuser to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Branding. Setting variable iBranding to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 DisableStackBuilder. Setting variable iDisableStackBuilder to empty value
[15:35:38] Existing base directory: C:Usersskumpostgres_inst
[15:35:38] Existing data directory: 
[15:35:38] Using branding: PostgreSQL 9.6
[15:35:38] Using Super User: postgres and Service Account: NT AUTHORITYNetworkService
[15:35:38] Using Service Name: postgresql-x64-9.6
Executing cscript //NoLogo "C:UsersskumAppDataLocalTemppostgresql_installer_c42ee2159fprerun_checks.vbs"
Script exit code: 0

Script output:
 The scripting host appears to be functional.

Script stderr:


Executing C:UsersskumAppDataLocalTemppostgresql_installer_c42ee2159fvcredist_x64.exe /passive /norestart
Script exit code: 0

Script output:


Script stderr:


Executing C:UsersskumAppDataLocalTemppostgresql_installer_c42ee2159fvcredist_x86.exe /passive /norestart
Script exit code: 0

Script output:


Script stderr:


Executing C:UsersskumAppDataLocalTemppostgresql_installer_c42ee2159fgetlocales.exe 
Script exit code: 0

Logs Part 1:

Failed to ensure the data directory is accessible (C:UsersskumpostgresqlData)
Executing batch file 'radB66AD.bat'...
The files belonging to this database system will be owned by user "skum".
This user must also own the server process.

The database cluster will be initialized with locale "English_United States.1252".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory C:/Users/skum/postgresqlData ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... windows
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

Success. You can now start the database server using:

    "C:Usersskumpostgres_instbinpg_ctl" -D "C:UsersskumpostgresqlData" -l logfile start


Reading:    C:UsersskumpostgresqlDatapostgresql.conf exists...
Writing:    C:UsersskumpostgresqlDatapostgresql.conf exists...
Called AclCheck(C:UsersskumpostgresqlData)
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:10.
    MajorVersion:10
Executing icacls to ensure the NT AUTHORITYNetworkService account can read the path C:UsersskumpostgresqlData
    Executing batch file 'radB66AD.bat'...
    'icacls' is not recognized as an internal or external command,
operable program or batch file.

Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:10.
    MajorVersion:10
Granting service account access to the data directory (using icacls) to NT AUTHORITYNetworkService:
    Executing batch file 'radB66AD.bat'...
    'icacls' is not recognized as an internal or external command,
operable program or batch file.

Failed to grant service account access to the data directory (C:UsersskumpostgresqlData)
initcluster.vbs ran to completion

Script stderr:
 Program ended with an error exit code

Error running cscript //NoLogo "C:Usersskumpostgres_inst/installer/server/initcluster.vbs" "NT AUTHORITYNetworkService" "postgres" "****" "C:Usersskumpostgres_inst" "C:UsersskumpostgresqlData" 5432 "DEFAULT" 0: Program ended with an error exit code
Configuring database server startup...
Executing cscript //NoLogo "C:Usersskumpostgres_instinstallerserverstartupcfg.vbs" 9.6 "NT AUTHORITYNetworkService" "****" "C:Usersskumpostgres_inst" "C:UsersskumpostgresqlData" "postgresql-x64-9.6"
Script exit code: 0

Script output:
 startupcfg.vbs ran to completion

Script stderr:


Creating menu shortcuts...
Executing cscript //NoLogo "C:Usersskumpostgres_instinstallerservercreateshortcuts.vbs" 9.6 "postgres" 5432 "PostgreSQL 9.6" "C:Usersskumpostgres_inst" "C:UsersskumpostgresqlData" "postgresql-x64-9.6"
Script exit code: 0

Script output:
 Start FixupFile(C:Usersskumpostgres_instscriptsserverctl.vbs)...
   Opening file for reading...
   Closing file (reading)...
   Replacing placeholders...
   Opening file for writing...
   Closing file...
  End FixupFile()...
Start FixupFile(C:Usersskumpostgres_instscriptsrunpsql.bat)...
   Opening file for reading...
   Closing file (reading)...
   Replacing placeholders...
   Opening file for writing...
   Closing file...
  End FixupFile()...
createshortcuts.vbs ran to completion

Script stderr:


Starting the database server...
Executing cscript //NoLogo "C:Usersskumpostgres_instinstallerserverstartserver.vbs" postgresql-x64-9.6
Script exit code: 1

Script output:
 Starting postgresql-x64-9.6
Failed to start the database server (2)

Script stderr:
 Program ended with an error exit code

Error running cscript //NoLogo "C:Usersskumpostgres_instinstallerserverstartserver.vbs" postgresql-x64-9.6: Program ended with an error exit code
Problem running post-install step. Installation may not complete correctly
 Failed to start the database server.
Creating Uninstaller
Creating uninstaller 25%
Creating uninstaller 50%
Creating uninstaller 75%
Creating uninstaller 100%
Installation completed
Log finished 09/08/2017 at 15:41:35

I’m trying to install postgreSQL on my windows 10 computer for the first time. I got two errors at the end of the installation

1) a non-fatal error occured during cluster initialisation. please check the installation log in C:usersabcAppDataLocalTemp for details

2) problem running post-install step. Installation may not complete correctly.Failed to start the database-server.

I also tried a number of other (but very dated) solutions to similar problems users experienced such as moving my data directory outside of the Postgres directory entirely. Most of these solutions date back and don’t seem to work anymore.

The one that seemed closest to working is [PostgreSQL Database Cluster Initialisation Failed Solution][1]

However, I can’t find «postgres» as a user. I get an error saying: «An object named «postgres» cannot be found. Check the selected object types and location for accuracy and ensure that you typed the object name correctly, or remove this object from the selection.»

Does anybody have any updated solutions/tips for this?

Please see the logs: I have added some more logs below this.

> Log started 09/08/2017 at 15:35:34
Preferred installation mode : qt
Trying to init installer in mode qt
Mode qt successfully initialized
Executing C:UsersskumAppDataLocalTemp/postgresql_installer_c42ee2159f/temp_check_comspec.bat 
Script exit code: 0

Script output:
 "test ok"

Script stderr:


Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Data Directory. Setting variable iDataDirectory to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Service ID. Setting variable iServiceName to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Service Account. Setting variable iServiceAccount to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Super User. Setting variable iSuperuser to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 Branding. Setting variable iBranding to empty value
Could not find registry key HKEY_LOCAL_MACHINESOFTWAREPostgreSQLInstallationspostgresql-x64-9.6 DisableStackBuilder. Setting variable iDisableStackBuilder to empty value
[15:35:38] Existing base directory: C:Usersskumpostgres_inst
[15:35:38] Existing data directory: 
[15:35:38] Using branding: PostgreSQL 9.6
[15:35:38] Using Super User: postgres and Service Account: NT AUTHORITYNetworkService
[15:35:38] Using Service Name: postgresql-x64-9.6
Executing cscript //NoLogo "C:UsersskumAppDataLocalTemppostgresql_installer_c42ee2159fprerun_checks.vbs"
Script exit code: 0

Script output:
 The scripting host appears to be functional.

Script stderr:


Executing C:UsersskumAppDataLocalTemppostgresql_installer_c42ee2159fvcredist_x64.exe /passive /norestart
Script exit code: 0

Script output:


Script stderr:


Executing C:UsersskumAppDataLocalTemppostgresql_installer_c42ee2159fvcredist_x86.exe /passive /norestart
Script exit code: 0

Script output:


Script stderr:


Executing C:UsersskumAppDataLocalTemppostgresql_installer_c42ee2159fgetlocales.exe 
Script exit code: 0

Logs Part 1:

Failed to ensure the data directory is accessible (C:UsersskumpostgresqlData)
Executing batch file 'radB66AD.bat'...
The files belonging to this database system will be owned by user "skum".
This user must also own the server process.

The database cluster will be initialized with locale "English_United States.1252".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory C:/Users/skum/postgresqlData ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... windows
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

Success. You can now start the database server using:

    "C:Usersskumpostgres_instbinpg_ctl" -D "C:UsersskumpostgresqlData" -l logfile start


Reading:    C:UsersskumpostgresqlDatapostgresql.conf exists...
Writing:    C:UsersskumpostgresqlDatapostgresql.conf exists...
Called AclCheck(C:UsersskumpostgresqlData)
Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:10.
    MajorVersion:10
Executing icacls to ensure the NT AUTHORITYNetworkService account can read the path C:UsersskumpostgresqlData
    Executing batch file 'radB66AD.bat'...
    'icacls' is not recognized as an internal or external command,
operable program or batch file.

Called IsVistaOrNewer()...
    'winmgmts' object initialized...
    Version:10.
    MajorVersion:10
Granting service account access to the data directory (using icacls) to NT AUTHORITYNetworkService:
    Executing batch file 'radB66AD.bat'...
    'icacls' is not recognized as an internal or external command,
operable program or batch file.

Failed to grant service account access to the data directory (C:UsersskumpostgresqlData)
initcluster.vbs ran to completion

Script stderr:
 Program ended with an error exit code

Error running cscript //NoLogo "C:Usersskumpostgres_inst/installer/server/initcluster.vbs" "NT AUTHORITYNetworkService" "postgres" "****" "C:Usersskumpostgres_inst" "C:UsersskumpostgresqlData" 5432 "DEFAULT" 0: Program ended with an error exit code
Configuring database server startup...
Executing cscript //NoLogo "C:Usersskumpostgres_instinstallerserverstartupcfg.vbs" 9.6 "NT AUTHORITYNetworkService" "****" "C:Usersskumpostgres_inst" "C:UsersskumpostgresqlData" "postgresql-x64-9.6"
Script exit code: 0

Script output:
 startupcfg.vbs ran to completion

Script stderr:


Creating menu shortcuts...
Executing cscript //NoLogo "C:Usersskumpostgres_instinstallerservercreateshortcuts.vbs" 9.6 "postgres" 5432 "PostgreSQL 9.6" "C:Usersskumpostgres_inst" "C:UsersskumpostgresqlData" "postgresql-x64-9.6"
Script exit code: 0

Script output:
 Start FixupFile(C:Usersskumpostgres_instscriptsserverctl.vbs)...
   Opening file for reading...
   Closing file (reading)...
   Replacing placeholders...
   Opening file for writing...
   Closing file...
  End FixupFile()...
Start FixupFile(C:Usersskumpostgres_instscriptsrunpsql.bat)...
   Opening file for reading...
   Closing file (reading)...
   Replacing placeholders...
   Opening file for writing...
   Closing file...
  End FixupFile()...
createshortcuts.vbs ran to completion

Script stderr:


Starting the database server...
Executing cscript //NoLogo "C:Usersskumpostgres_instinstallerserverstartserver.vbs" postgresql-x64-9.6
Script exit code: 1

Script output:
 Starting postgresql-x64-9.6
Failed to start the database server (2)

Script stderr:
 Program ended with an error exit code

Error running cscript //NoLogo "C:Usersskumpostgres_instinstallerserverstartserver.vbs" postgresql-x64-9.6: Program ended with an error exit code
Problem running post-install step. Installation may not complete correctly
 Failed to start the database server.
Creating Uninstaller
Creating uninstaller 25%
Creating uninstaller 50%
Creating uninstaller 75%
Creating uninstaller 100%
Installation completed
Log finished 09/08/2017 at 15:41:35

Did you install postgresql with administrator-privileges?

This might be due to a privilege-issue, you can try to:

  • Create a new user account, called postgres

  • Add the new account to the Administrators and Power Users groups

  • Restart the computer

  • Run a command prompt as the postgres user, using the command:runas /user:postgres cmd.exe

  • Run the installer from the postgres command window

  • Delete the postgres user account, as well as the user directory

Another option is to:

  1. Uninstall PostgreSQL

  2. Delete the postgres user if it still exists.

     net user postgres /delete
    
  3. Create the postgres user with a password

     net user /add postgres <password>
    
  4. Add the postgres user to the Administrators group

     net localgroup administrators postgres /add
    

5a. Add the postgres user to the Power Users group

    net localgroup "power users" postgres /add

5b. Add the postgres user to the administrator’s local-group

    net localgroup Administrators postgres /add
  1. Run a command window as the postgres user

     runas /user:postgres cmd.exe
    
  2. Run the install file from within the command window.

     C:Downloadpostgresql-9.6.12-windows.exe // or whatever version you are using
    

    This should run the installation successfully.

  3. Remove the postgres user from the Administrators group.

     net localgroup administrators postgres /delete
    

as mentioned by @Imraan on DBA -> Link

Edit in regards to @Youssef’s comment:

Depending on the version and scenario, the user postgres needs to be added to administrator’s localgroup instead of power users.

Short overview about power-users from superuser SE:

Note: in Windows 7 and above, Power Users only exists for legacy purposes, and is the same as ordinary Users, unless an admin explicitly adds extra rights to the group.

Power-users may:

  • Run legacy applications, in addition to Windows 2000 or Windows XP Professional certified applications.

  • Install programs that do not modify operating system files or install system services.

  • Customize systemwide resources including printers, date, time, power options, and other Control Panel resources.

  • Create and manage local user accounts and groups.

  • Stop and start system services which are not started by default.

  • Power Users do not have permission to add themselves to the Administrators group.

  • Power Users do not have access to the data of other users on an NTFS volume, unless those users grant them permission.

Приветствую Вас на сайте Info-Comp.ru! В этом материале мы с Вами подробно рассмотрим процесс установки PostgreSQL 12 на операционную систему Windows 10. Кроме этого мы также установим и настроим pgAdmin 4 – это стандартный и бесплатный графический инструмент управления СУБД PostgreSQL, который мы можем использовать для написания SQL запросов, разработки процедур, функций, а также для администрирования PostgreSQL.

Установка и настройка PostgreSQL 12 на Windows 10

Содержание

  1. Что такое PostgreSQL?
  2. Системные требования для установки PostgreSQL 12 на Windows
  3. Установка PostgreSQL 12 и pgAdmin 4 на Windows 10
  4. Шаг 1 – Скачивание установщика для Windows
  5. Шаг 2 – Запуск установщика PostgreSQL
  6. Шаг 3 – Указываем каталог для установки PostgreSQL 12
  7. Шаг 4 – Выбираем компоненты для установки
  8. Шаг 5 – Указываем каталог для хранения файлов баз данных
  9. Шаг 6 – Задаем пароль для системного пользователя postgres
  10. Шаг 7 – Указываем порт для экземпляра PostgreSQL
  11. Шаг 8 – Указываем кодировку данных в базе
  12. Шаг 9 – Проверка параметров установки PostgreSQL
  13. Шаг 10 – Запуск процесса установки
  14. Шаг 11 – Завершение установки
  15. Запуск и настройка pgAdmin 4
  16. Подключение к серверу PostgreSQL 12
  17. Установка русского языка в pgAdmin 4
  18. Пример написания SQL запроса в Query Tool (Запросник)
  19. Видео-инструкция – Установка PostgreSQL 12 и pgAdmin 4 на Windows 10

PostgreSQL — это бесплатная объектно-реляционная система управления базами данных (СУБД). PostgreSQL реализована для многих операционных систем, например, таких как: BSD, Linux, macOS, Solaris и Windows.

В PostgreSQL используется язык PL/pgSQL.

Заметка!

  • Что такое СУБД
  • Что такое SQL
  • Что такое T-SQL

PL/pgSQL – это процедурное расширение языка SQL, разработанное и используемое в СУБД PostgreSQL.

Язык PL/pgSQL предназначен для создания функций, триггеров, он добавляет управляющие структуры к языку SQL, и он помогает нам выполнять сложные вычисления.

PostgreSQL — одна из самых популярных систем управления базами данных (ТОП 5 популярных систем управления базами данных).

На момент написания статьи самая актуальная версия PostgreSQL 12, именно ее мы и будем устанавливать.

PostgreSQL 12 можно установить не на все версии Windows, в частности официально поддерживаются следующие версии и только 64 битные:

  • Windows Server 2012 R2;
  • Windows Server 2016;
  • Windows Server 2019.

Как видим, в официальном перечне нет Windows 10, однако установка на данную систему проходит без проблем, как и последующее функционирование PostgreSQL.

Кроме этого есть и другие требования:

  • Процессор как минимум с частотой 1 гигагерц;
  • 2 гигабайта оперативной памяти;
  • Как минимум 512 мегабайт свободного места на диске (рекомендуется больше для установки дополнительных компонентов);
  • Также рекомендовано, чтобы все обновления операционной системы Windows были установлены.

Установка PostgreSQL 12 и pgAdmin 4 на Windows 10

Итак, давайте перейдем к процессу установки, и рассмотрим все шаги, которые необходимо выполнить, чтобы установить PostgreSQL 12 и pgAdmin 4 на Windows 10.

Шаг 1 – Скачивание установщика для Windows

Как было уже отмечено, PostgreSQL реализован для многих платформ, но, так как мы будем устанавливать PostgreSQL на Windows, нам, соответственно, нужен установщик под Windows. Скачать данный дистрибутив можно, конечно же, с официального сайта PostgreSQL, вот страница загрузки — https://www.postgresql.org/download/windows/

После перехода на страницу необходимо нажимать на ссылку «Download the installer», в результате Вас перенесёт на сайт компании EnterpriseDB, которая и подготавливает графические дистрибутивы PostgreSQL для многих платформ, в том числе и для Windows, поэтому можете сразу переходить на этот сайт, вот ссылка на страницу загрузки https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

Здесь Вам необходимо выбрать версию PostgreSQL и платформу, в нашем случае выбираем PostgreSQL 12 и Windows x86-64.

Скриншот 1

В итоге должен загрузиться файл postgresql-12.2-2-windows-x64.exe размером примерно 191 мегабайт (на момент написания статьи доступна версия 12.2-2).

Шаг 2 – Запуск установщика PostgreSQL

Теперь, чтобы начать установку, необходимо запустить скаченный файл (установка PostgreSQL требует прав администратора).

После запуска откроется окно приветствия, нажимаем «Next».

Скриншот 2

Заметка! Установка и настройка PostgreSQL 12 на Debian 10.

Шаг 3 – Указываем каталог для установки PostgreSQL 12

Далее, в случае необходимости мы можем указать путь к каталогу, в который мы хотим установить PostgreSQL 12, однако можно оставить и по умолчанию.

Нажимаем «Next».

Скриншот 3

Шаг 4 – Выбираем компоненты для установки

Затем выбираем компоненты, которые нам необходимо установить, для этого оставляем галочки напротив нужных нам компонентов, а обязательно нам нужны PostgreSQL Server и pgAdmin 4. Утилиты командной строки и Stack Builder устанавливайте по собственному желанию, т.е. их можно и не устанавливать.

Нажимаем «Next».

Скриншот 4

Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.

Шаг 5 – Указываем каталог для хранения файлов баз данных

На этом шаге нам необходимо указать каталог, в котором по умолчанию будут располагаться файлы баз данных. В случае тестовой установки, например, для обучения, можно оставить и по умолчанию, однако «боевые» базы данных всегда должны храниться в отдельном месте, поэтому, если сервер PostgreSQL планируется использовать для каких-то других целей, лучше указать отдельный диск.

Нажимаем «Next».

Скриншот 5

Шаг 6 – Задаем пароль для системного пользователя postgres

Далее нам нужно задать пароль для пользователя postgres – это администратор PostgreSQL Server с максимальными правами.

Вводим и подтверждаем пароль. Нажимаем «Next».

Скриншот 6

Заметка! Как создать таблицу в PostgreSQL с помощью pgAdmin 4.

Шаг 7 – Указываем порт для экземпляра PostgreSQL

На данном шаге в случае необходимости мы можем изменить порт, на котором будет работать PostgreSQL Server, если такой необходимости у Вас нет, то оставляйте по умолчанию.

Нажимаем «Next».

Скриншот 7

Шаг 8 – Указываем кодировку данных в базе

Затем мы можем указать конкретную кодировку данных в базе, для этого необходимо выбрать из выпадающего списка нужную Locale.

Однако можно оставить и по умолчанию, жмем «Next».

Курс по SQL для начинающих

Скриншот 8

Шаг 9 – Проверка параметров установки PostgreSQL

Все готово к установке, на данном шаге проверяем введенные нами ранее параметры и, если все правильно, т.е. все то, что мы и вводили, нажимаем «Next».

Скриншот 9

Шаг 10 – Запуск процесса установки

Далее появится еще одно дополнительное окно, в котором мы должны нажать «Next», чтобы запустить процесс установки PostgreSQL на компьютер.

Скриншот 10

Установка началась, она продлится буквально минуту.

Скриншот 11

Шаг 11 – Завершение установки

Когда отобразится окно с сообщением «Completing the PostgreSQL Setup Wizard», установка PostgreSQL 12, pgAdmin 4 и других компонентов будет завершена.

Также в этом окне нам предложат запустить Stack Builder для загрузки и установки дополнительных компонентов, если Вам это не нужно, то снимайте галочку «Lanch Stack Builder at exit?».

Нажимаем «Finish».

Скриншот 12

Заметка! Как перенести базу данных PostgreSQL на другой сервер с помощью pgAdmin 4.

Запуск и настройка pgAdmin 4

PostgreSQL 12 и pgAdmin 4 мы установили, теперь давайте запустим pgAdmin 4, подключимся к серверу и настроим рабочую среду pgAdmin.

Чтобы запустить pgAdmin 4, зайдите в меню пуск, найдите пункт PostgreSQL 12, а в нем pgAdmin 4.

Подключение к серверу PostgreSQL 12

pgAdmin 4 имеет веб интерфейс, поэтому в результате у Вас должен запуститься браузер, а в нем открыться приложение pgAdmin 4.

При первом запуске pgAdmin 4 появится окно «Set Master Password», в котором мы должны задать «мастер-пароль», это можно и не делать, однако если мы будем сохранять пароль пользователя (галочка «Сохранить пароль»), например, для того чтобы каждый раз при подключении не вводить его, то настоятельно рекомендуется придумать и указать здесь дополнительный пароль, это делается один раз.

Вводим и нажимаем «ОК».

Скриншот 13

Чтобы подключиться к только что установленному локальному серверу PostgreSQL в обозревателе серверов, щелкаем по пункту «PostgreSQL 12».

В итоге запустится окно «Connect to Server», в котором Вам нужно ввести пароль системного пользователя postgres, т.е. это тот пароль, который Вы придумали, когда устанавливали PostgreSQL. Вводим пароль, ставим галочку «Save Password», для того чтобы сохранить пароль и каждый раз не вводить его (благодаря функционалу «мастер-пароля», все сохраненные таким образом пароли будут дополнительно шифроваться).

Нажимаем «OK».

Скриншот 14

В результате Вы подключитесь к локальному серверу PostgreSQL 12 и увидите все объекты, которые расположены на данном сервере.

Скриншот 15

Заметка! Как создать базу данных в PostgreSQL с помощью pgAdmin 4.

Установка русского языка в pgAdmin 4

Как видите, по умолчанию интерфейс pgAdmin 4 на английском языке, если Вас это не устраивает, Вы можете очень просто изменить язык на тот, который Вам нужен. pgAdmin 4 поддерживает много языков, в том числе и русский.

Для того чтобы изменить язык pgAdmin 4, необходимо зайти в меню «File -> Preferences».

Скриншот 16

Затем найти пункт «User Languages», и в соответствующем поле выбрать значение «Russian». Для сохранения настроек нажимаем «Save», после этого перезапускаем pgAdmin 4 или просто обновляем страницу в браузере.

Скриншот 17

В результате pgAdmin 4 будет русифицирован.

Скриншот 18

Заметка! Как создать составной тип данных в PostgreSQL.

Пример написания SQL запроса в Query Tool (Запросник)

Для того чтобы убедиться в том, что наш сервер PostgreSQL работает, давайте напишем простой запрос SELECT, который покажет нам версию сервера PostgreSQL.

Для написания SQL запросов в pgAdmin 4 используется инструмент Query Tool или на русском «Запросник», его можно запустить с помощью иконки на панели или из меню «Инструменты».

После того как Вы откроете Query Tool, напишите

   
   SELECT VERSION()

Этот запрос показывает версию PostgreSQL.

Скриншот 19

Как видите, все работает!

Видео-инструкция – Установка PostgreSQL 12 и pgAdmin 4 на Windows 10

На сегодня это все, надеюсь, материал был Вам полезен, удачи!

В этот FAQ я собираю вопросы, которые мне показались интересными и заслуживающими внимания. Здесь не будет тех же вопросов что в переводе англоязычного FAQ. Вопросы не ограничиваются какой-то конкретной областью применения или настройки PostgreSQL.

Авторские права и условия распространения


По идейным соображениям, вся информация в этом FAQ предоставляется на условиях лицензии Creative Commons CC-BY-SA. Если вы не согласны с условиями этой лицензии — откажитесь от использования данного FAQ, если вы автор одного из ответов и против использования вашего материала под этой лицензией, напишите на admin@postgresql.ru.net и ваш материал будет удалён из данного FAQ.

Присылайте свои вопросы на адрес: admin@postgresql.ru.net

Общие вопросы


Q001: При изменение структуры БД иногда требуется на время отключить FOREIGN KEY. Как это сделать?
Q002: Как скачать самые последние исходные тексты (исходники) PostgreSQL из CVS?
Q003: Почему выдаёт ошибку при создании функции, где в качестве параметра я использую имя таблицы?
Q004: Как мне написать запрос, делающий SELECT на таблицу, имя которой получено в подзапросе?

Проблемы при установке


Q100: Я хочу установить Holdem Manager, но у меня не получается. Почему вы не хотите помочь мне установить PostgreSQL, который входит в его состав?
Q101: Не знаю как поставить PostgreSQL на Windows. Что делать?
Q102: Во время установки PostgreSQL на Windows получаю сообщение об ошибке «Invalid user specified: Logon Failure: Unknown user name or bad password». Что делать?
Q103: Во время установки PostgreSQL на Windows получаю сообщение об ошибке «Invalid User specified: Logon Failure: The user has not been granted the requested logon type at this computer». Что делать?
Q104: Во время установки PostgreSQL на Windows получаю сообщение об ошибке «Failed to create process for initdb: 1385!». Что делать?
Q105: Регистрирую сервис так: pg_ctl register -N postgres_svc -w -D %windir%PostgreSQLdata и вылазит ошибка номер 1057. Что это за ошибка и по какой причине сервис не может быть зарегистрирован?
Q106: Во время установки выдает ошибку: Сервис ‘Secondary Logon’ не запущен. Этот сервис необходим для инициализации кластера базы данных. Пожалуйста, запустите сервис и попобуйте еще раз. Что делать?
Q107: Во время установки, на этапе Loading additional SQL modules выскочило сообщение: «problem runing post instal step/instalation mya not complete corecltly.error reading file c:/postgresql/8.4/data/postgresql.cfg». Что делать?
Q108: Не запускается сервис. Выдаёт: «More help is available by typing NET HELPMSG 3534». Что делать?
Q109: Во время установки выдаёт: «Внутренняя ошибка поиска учётной записи: Сопоставление между именами пользователей и идентификаторами безопасности не было произведено». Что делать?
Q110: Во время установки выдаёт: «Failed to establish a connection to ‘127.0.0.1’». Что делать?
Q111: При старте в логе вот такое сообщение: «MSD FATAL: the database system is starting up». Как исправить эту ошибку?
Q112: Устанавливаю PostgreSQL повторно и у меня спрашивает пароль: «Please provide a password for the database superuser and service account (postgres)…». Не понимаю где его взять?
Q113: Во время установки, на этапе инициализации кластера БД выскочило сообщение: «Problem running post-install step. Installation may not complete correctly. The database cluster initialization failed.» Что делать?

PostgreSQL и 1C


Q201: Будет ли работать PostgreSQL из дистрибутива или скаченный с оригинального сайта PostgreSQL с 1C?


Общие вопросы


Q001: При изменение структуры БД иногда требуется на время отключить FOREIGN KEY. В oracle это делается так

ALTER TABLE TABLE MODIFY CONSTRAINT constraint ENABLE/DISABLE


А как это делается на postgresql?

A001: Сделайте все FOREIGN KEYS, которые хотите отключить на время, DEFERRED (см. man по FOREIGN KEY). Потом в DDL-транзакции в начале просто указывайте SET CONSTRAINTS ALL DEFERRED; и целостность базы будет проверяться только в самом конце при операции COMMIT (Автор совета: Иван Золотухин).

Q002: Как скачать самые последние исходные тексты (исходники) PostgreSQL из CVS?

A002: Создайте какой-либо каталог или перейдите в каталог, в котором у вас есть права на запись. Выполните последовательно:

Подробности смотрите на странице: http://www.postgresql.org/docs/current/static/anoncvs.html

Q003: Почему выдаёт ошибку при создании функции, где в качестве параметра я использую имя таблицы?

A003: Потому что любая функция (хранимая процедура) должна быть скомпилирована до начала её использования. А при компиляции PostgreSQL не знает не только типов полей той таблицы, которую вы планируете использовать в функции, но и даже вообще существует ли она. Поэтому проверка на соответствие типов и на имена полей становится невозможным, вследствие чего вы и получаете ошибку. Таким образом, использование имён таблиц в качестве аргументов в функциях НЕВОЗМОЖНО. Вы должны явно указывать имя таблицы, если хотите использовать её в запросе.

Q004: Как мне написать запрос, делающий SELECT на таблицу, имя которой получено в подзапросе?

A004: Любой запрос перед началом выполнения должен быть скомпилирован. Но в момент компиляции PostgreSQL не знает какое имя таблицы вернёт подзапрос и вернёт ли он вообще какое-либо имя таблицы, а также будет ли существовать такая таблица. Таким образом, проверка на соответствие типов полей и вообще на наличие таких полей в дальнейшем становится нереальным, план запроса построить невозможным и как следствие вы получите ошибку на любые такие попытки. Поэтому, подстановка имени нужной таблицы во время запроса НЕВОЗМОЖНА. Вы должны явно указывать имя таблицы, если хотите использовать её в запросе.


Проблемы при установке


Q100: Я хочу установить Holdem Manager, но у меня не получается. Почему вы не хотите помочь мне установить PostgreSQL, который входит в его состав?

A100: Потому что Holdem Manager — это игра в покер и поставить вы его можете только с двумя целями: развлечение или заработок денег. Если вы зарабатываете на покере — наймите специалиста, который установит и настроит вам всё, что нужно. Если вы развлекаетесь, то мы не хотим тратить свои силы и время, чтобы вы могли развлекаться. И в любом случае, дальнейшая польза сообществу PostgreSQL от вас — нулевая, зачем нам тратить на вас время? Исключения могут быть сделаны лишь для пользователей, имеющих уровень компетенции «администратор Windows», которым не надо объяснять, что означает «посмотреть логи», «вручную удалить службу», «почистить реестр» и т.д., если вопросы этих пользователей касаются чётко PostgreSQL.

Q101: Не знаю как поставить PostgreSQL на Windows. Что делать?

A101: Для начала прочитать статью: Установка PostgreSQL 8.3 на Windows XP или Установка PostgreSQL 9.0.1 на Windows 7. Возможно вам больше ничего и не понадобится.

Q102: Во время установки PostgreSQL на Windows получаю сообщение об ошибке «Invalid user specified: Logon Failure: Unknown user name or bad password». Что делать?

A102: (Автор совета Bruce Modick). Зайдите в Панель Управления Windows, в управление пользователями и сделайте пользователя postgres членом группы Пользователи.

Q103: Во время установки PostgreSQL на Windows получаю сообщение об ошибке «Invalid User specified: Logon Failure: The user has not been granted the requested logon type at this computer». Что делать?

A103: (Автор совета Bruce Modick). Зайдите администратором в настройки Локальных Политик Безопасности и для учётной записи postgres предоставьте права «Access this computer from the network» (Доступ к данному компьютеру из сети).

Q104: Во время установки PostgreSQL на Windows получаю сообщение об ошибке «Failed to create process for initdb: 1385!». Что делать?

A104: (Автор совета Bruce Modick). Зайдите администратором в настройки Локальных Политик Безопасности и для учётной записи postgres предоставьте права «Log on Locally».

Q105: Регистрирую сервис так: pg_ctl register -N postgres_svc -w -D %windir%PostgreSQLdata и вылазит ошибка номер 1057. Что это за ошибка и по какой причине сервис не может быть зарегистрирован?

A105: (Автор ответа msr). Service «service_name» faild with error: «System error. Code 1057. Имя учетной записи задано не верно или не существует, или же неверен указаный пароль».

Q106: Во время установки выдает ошибку: Сервис ‘Secondary Logon’ не запущен. Этот сервис необходим для инициализации кластера базы данных. Пожалуйста, запустите сервис и попобуйте еще раз. Что делать?

A106: Зайдите администратором. Найдите диспетчер служб (Службы или Services). Найдите в списке службу с названием ‘Secondary Logon’ и запустите её, щёлкнул правой кнопкой мыши.

Q107: Во время установки, на этапе Loading additional SQL modules выскочило сообщение: «problem runing post instal step/instalation mya not complete corecltly.error reading file c:/postgresql/8.4/data/postgresql.cfg». Что делать?

A107: Попробуйте проверить права доступа на каталог «c:/postgresql/8.4/data». Возможно, по какой-то причине для этого каталога установлен флаг read-only (только чтение). Если это так, уберите его и запустите установку заново.

Если это не помогает, то предлагается вот такой рецепт от cx@ukr.net:

  1. В службах запускаем «Вторичный вход в систему» и ставим тип запуска — «Автозапуск»
  2. Создаём нового пользователя в системе с названием латинскими буквами и правами администратора — к примеру «Sexy»
  3. Жмём «Выход из системы» и входим с учётной записью «Sexy»
  4. Запускаем инсталлятор PostgreSQL 9.x x64 от имени администратора и наслаждаемся ЧИСТОЙ установкой!!! Wow!!!
  5. Проверяем работоспособность сервера подключением к template1 из psql — «psql -U postgres -W template1» (на запрос ввести пароль, указанный при инсталляции!)
  6. Выходим из учётной записи «Sexy» и заходим в нашу обычную, грохаем учётную запись «Sexy» со всеми файлами.
  7. Пишем премногую благодарность мне на cx@ukr.net за сэкономленых несколько часов (или больше, кому как) времени!

Q108: Не запускается сервис. Выдаёт: «More help is available by typing NET HELPMSG 3534». Что делать?

A108: Попробуйте сделать следующее:

  1. Зайдите администратором. Найдите диспетчер служб (Службы или Services).
  2. В списке служб найдите PostgreSQL и щёлкните правой кнопкой мыши. Из появившегося меню выберите Свойства (Properties)
  3. В диалоговом окне свойств перейдите на вкладку Start Session (Вход в систему). На этой вкладке есть два варианта выбора «С учётной записью» и «С системной учётной записью». Измените вариант выбора на «С системной учётной записью» (галочку «Разрешить взаимодействие с рабочим столом» не ставить), нажмите «Применить» и «Ок». Должно помочь.

Q109: Во время установки выдаёт: «Внутренняя ошибка поиска учётной записи: Сопоставление между именами пользователей и идентификаторами безопасности не было произведено». Что делать?

A109: Такая ошибка может быть вызвана тем, что «Компьютер и Полное имя» должны быть на английском языке (информацию предоставил: shurickan).

Q110:: Во время установки выдаёт: «Failed to establish a connection to ‘127.0.0.1’». Что делать?

A110:

  1. Открываем в Блокноте файл C:Windowssystem32driversetchosts
  2. Удаляем существующий текст, относящийся к 127.0.0.1 и localhost
  3. Пишем строку: «127.0.0.1 localhost» и сохраняем файл
  4. Перезапускаем службу PostgreSQL.

Должно работать!

Q111: При старте в логе вот такое сообщение: «MSD FATAL: the database system is starting up». Как исправить эту ошибку?

A111: На самом деле — это не ошибка. Просто PostgreSQL ругается, что к нему делаются попытки подключиться, хотя он ещё только запускается.

Q112:Устанавливаю PostgreSQL повторно и у меня спрашивает пароль: «Please provide a password for the database superuser and service account (postgres)…». Не понимаю где его взять?

A112: По идее взять нужно из своей же головы — вспомнить, что вводили ранее. Если на голову надежды мало, то попробуйте так: Пуск -> Все программы -> Стандартные -> Выполнить. Далее введите:

net user postgres postgres

после чего пароль пользователя postgres будет таким же как и имя пользователя, т.е. тоже postgres. (за рецепт спасибо surmaless)

Q113:: Во время установки, на этапе инициализации кластера БД выскочило сообщение: «Problem running post-install step. Installation may not complete correctly. The database cluster initialization failed.» Что делать?

A113: Причин может быть великое множество. Например, установка старой версии PostgreSQL, в которой не учтены сервис паки Windows. Или установка PostgreSQL на машину в домене, где собственные политики безопасности мешают нормальной установке PostgreSQL. Или по какой-то причине работу инсталлятора заблокировал антивирус.

Рекомендации следующие: найдите лог инсталлятора, который обычно находится в WINDOWSTEMP (возможно также для старых версий в самом каталоге установки PostgreSQL) и прочитайте сообщения, которые там написаны. Возможно это поможет понять в чём собственно проблема.

Также советую не забывать совет в вопросе Q107, касающийся установки PostgreSQL с пользователем-администратором, а не пользователем postgres


PostgreSQL и 1C


Q201: Будет ли работать PostgreSQL из дистрибутива или скаченный с оригинального сайта PostgreSQL с 1C?

A201: Нет, не будет. Для своей работы 1C использует специальный тип данных, но есть и другие отличия. Смотрите сюда: http://v8.1c.ru/overview/postgres_patches_notes.htm. Также посетите ещё и эту страницу: http://wiki.etersoft.ru/PostgreSQL.

PostgreSQL — это бесплатная объектно-реляционная СУБД с мощным функционалом, который позволяет конкурировать с платными базами данных, такими как Microsoft SQL, Oracle. PostgreSQL поддерживает пользовательские данные, функции, операции, домены и индексы. В данной статье мы рассмотрим установку и краткий обзор по управлению базой данных PostgreSQL. Мы установим СУБД PostgreSQL в Windows 10, создадим новую базу, добавим в неё таблицы и настроим доступа для пользователей. Также мы рассмотрим основы управления PostgreSQL с помощью SQL shell и визуальной системы управления PgAdmin. Надеюсь эта статья станет хорошей отправной точкой для обучения работы с PostgreSQL и использованию ее в разработке и тестовых проектах.

Содержание:

  • Установка PostgreSQL 11 в Windows 10
  • Доступ к PostgreSQL по сети, правила файерволла
  • Утилиты управления PostgreSQL через командную строку
  • PgAdmin: Визуальный редактор для PostgresSQL
  • Query Tool: использование SQL запросов в PostgreSQL

Установка PostgreSQL 11 в Windows 10

Для установки PostgreSQL перейдите на сайт https://www.postgresql.org и скачайте последнюю версию дистрибутива для Windows, на сегодняшний день это версия PostgreSQL 11 (в 11 версии PostgreSQL поддерживаются только 64-х битные редакции Windows). После загрузки запустите инсталлятор.

где скачать PostgreSQL 11 для windows 10 x64

В процессе установки установите галочки на пунктах:

  • PostgreSQL Server – сам сервер СУБД
  • PgAdmin 4 – визуальный редактор SQL
  • Stack Builder – дополнительные инструменты для разработки (возможно вам они понадобятся в будущем)
  • Command Line Tools – инструменты командной строки

установка PostgreSQL 11 и дополнительных компонентов

Установите пароль для пользователя postgres (он создается по умолчанию и имеет права суперпользователя).

PostgreSQL - задать пароль пользователю postgres

По умолчание СУБД слушает на порту 5432, который нужно будет добавить в исключения в правилах фаерволла.

5432 - порт PostgreSQL по-умолчанию

Нажимаете Далее, Далее, на этом установка PostgreSQL завершена.

Доступ к PostgreSQL по сети, правила файерволла

Чтобы разрешить сетевой доступ к вашему экземпляру PostgreSQL с других компьютеров, вам нужно создать правила в файерволе. Вы можете создать правило через командную строку или PowerShell.

Запустите командную строку от имени администратора. Введите команду:

netsh advfirewall firewall add rule name="Postgre Port" dir=in action=allow protocol=TCP localport=5432

  • Где rule name – имя правила
  • Localport – разрешенный порт

Либо вы можете создать правило, разрешающее TCP/IP доступ к экземпляру PostgreSQL на порту 5432 с помощью PowerShell:

New-NetFirewallRule -Name 'POSTGRESQL-In-TCP' -DisplayName 'PostgreSQL (TCP-In)' -Direction Inbound -Enabled True -Protocol TCP -LocalPort 5432

После применения команды в брандмауэре Windows появится новое разрешающее правило для порта Postgres.

правила бранжмауэра для доступа к PostgreSQL по сети

Совет. Для изменения порта в установленной PostgreSQL отредактируйте файл postgresql.conf по пути C:Program FilesPostgreSQL11data.

Измените значение в пункте
port = 5432
. Перезапустите службу сервера postgresql-x64-11 после изменений. Можно перезапустить службу с помощью PowerShell:

Restart-Service -Name postgresql-x64-11

служба postgresql-x64-11

Более подробно о настройке параметров в конфигурационном файле postgresql.conf с помощью тюнеров смотрите в статье.

Утилиты управления PostgreSQL через командную строку

Рассмотрим управление и основные операции, которые можно выполнять с PostgreSQL через командную строку с помощью нескольких утилит. Основные инструменты управления PostgreSQL находятся в папке bin, потому все команды будем выполнять из данного каталога.

  • Запустите командную строку.

    Совет. Перед запуском СУБД, смените кодировку для нормального отображения в русской Windows 10. В командной строке выполните:
    chcp 1251

  • Перейдите в каталог bin выполнив команду:
    CD C:Program FilesPostgreSQL11bin

утилиты управления postgresql - C:Program FilesPostgreSQL11bin

Основные команды PostgreSQL:

PostgreSQL (shell): psql командная строка

PgAdmin: Визуальный редактор для PostgresSQL

Редактор PgAdmin служит для упрощения управления базой данных PostgresSQL в понятном визуальном режиме.

По умолчанию все созданные базы хранятся в каталоге base по пути C:Program FilesPostgreSQL11database.

Для каждой БД существует подкаталог внутри PGDATA/base, названный по OID базы данных в pg_database. Этот подкаталог по умолчанию является местом хранения файлов базы данных; в частности, там хранятся её системные каталоги. Каждая таблица и индекс хранятся в отдельном файле.

Для резервного копирования и восстановления лучше использовать инструмент Backup в панели инструментов Tools. Для автоматизации бэкапа PostgreSQL из командной строки используйте утилиту pg_dump.exe.

Query Tool: использование SQL запросов в PostgreSQL

Для написания SQL запросов в удобном графическом редакторе используется встроенный в pgAdmin инструмент Query Tool. Например, вы хотите создать новую таблицу в базе данных через инструмент Query Tool.

  • Выберите базу данных, в панели Tools откройте Query Tool
  • Создадим таблицу сотрудников:

CREATE TABLE employee
(
Id SERIAL PRIMARY KEY,
FirstName CHARACTER VARYING(30),
LastName CHARACTER VARYING(30),
Email CHARACTER VARYING(30),
Age INTEGER
);

Query Tool: использование SQL запросов в PostgreSQL

Id — номер сотрудника, которому присвоен ключ SERIAL. Данная строка будет хранить числовое значение 1, 2, 3 и т.д., которое для каждой новой строки будет автоматически увеличиваться на единицу. В следующих строках записаны имя, фамилия сотрудника и его электронный адрес, которые имеют тип CHARACTER VARYING(30), то есть представляют строку длиной не более 30 символов. В строке — Age записан возраст, имеет тип INTEGER, т.к. хранит числа.

После того, как написали код SQL запроса в Query Tool, нажмите клавишу F5 и в базе будет создана новая таблица employee.

Для заполнения полей в свойствах таблицы выберите таблицу employee в разделе Schemas -> Tables. Откройте меню Object инструмент View/Edit Data.

Здесь вы можете заполнить данные в таблице.

редактор таблица в pgadmin

После заполнения данных выполним инструментом Query простой запрос на выборку:
select Age from employee;

выполнить select в PostgreSQL с помощью PgAdmin

Если человек обнаруживает ошибку при устранении неполадок при установке postgresql, сегодняшнее руководство пользователя было написано, чтобы помочь вам.

Ускорьте свой ПК всего за несколько кликов

  • 1. Скачайте и установите ASR Pro
  • 2. Откройте приложение и нажмите кнопку «Сканировать».
  • 3. Выберите файлы или папки, которые вы хотите восстановить, и нажмите кнопку «Восстановить».
  • Загрузите это программное обеспечение сейчас и попрощайтесь с проблемами вашего компьютера. г.

    pid файл. PostgreSQL создает файл postmaster. pid на веб-сайте каталога данных для хранения идентификатора процесса на сервере PostgreSQL. Если PostgreSQL ныряет, этот файл инструкций может содержать самый важный классический PID, который сбивает PostgreSQL с толку. Способ решить эту проблему – однозначно удалить postmaster.

    Как установить PostgreSQL для Windows 10?

    Загрузите технологию Postgres здесь.Без сомнения, щелкните исполняемый файл, чтобы запустить каждый из наших установщиков.Выберите предпочитаемый язык.Укажите каталог, в который каждый человек хочет установить PostgreSQL.Укажите слот хоста PostgreSQL.Введите каталог использования передачи данных для инициализации базы данных PostgreSQL.

    Эта страница предназначена для того, чтобы пользователи могли собирать информацию для устранения конфликтов с установщиками PostgreSQL, предоставляемыми EnterpriseDB.

    Многие проблемы уже замечены и исправлены. Поэтому используйте pr. См. Схему установки самого популярного промежуточного выпуска postgreSQL, прежде чем исследовать проблему.

    Поскольку некоторые проблемы иногда могут быть исправлены в установщике, к сожалению, настройки Windows или процедурные проблемы, в этом отношении также есть список часто задаваемых вопросов и распространенных проблем по PostgreSQL в Windows. Прочтите, пожалуйста, эти распространенные ошибки при установке Church Walk, а также желательно весь документ. Вы, вероятно, сэкономите время или время, сделав это.

    postgresql apply Troubleshooting

    Если вы попробовали все это, но у вас все еще возникают проблемы с установкой PostgreSQL, прочтите этот раздел, чтобы узнать, как вы, вероятно, получите необходимую нам информацию, чтобы мы может помочь вам с проблемами рассрочки.

    Убедитесь, что вы устанавливаете дополнительно на поддерживаемой платформе

    Дополнительные сведения о поддержке платформы см. также на самой странице загрузки и установки (для Windows) «Запуск и установка PostgreSQL через родную Windows».

    Не отправляйте электронные письма с просьбой о помощи с установкой, когда на компьютерах платформы Windows требуется помощь. Однако один из моих выпущенных консультантов или консультантов по PostgreSQL, EnterpriseDB (который разрабатывает установщик PostgreSQL), все еще может помочь вам на платной и хорошо спроектированной основе.

    Попробуйте еще раз без сканера стресса или стороннего брандмауэра

    Почему не устанавливается Postgres?

    Решение: удалить PostgreSQL. Щелкните: Панель управления -> Учетные записи пользователей -> Настроить дополнительные свойства профиля пользователя -> Удалите все экземпляры, относящиеся к «Неизвестному пользователю», которые, похоже, всегда были из установки PostgreSQL. Выполните некоторую команду: net rider postgres dbpass или добавьте.

    postgresql, вы можете установить устранение неполадок

    В разделе часто задаваемых вопросов Windows описаны возможные аспекты сторонних антивирусных продуктов и брандмауэров. Если у вас возникли проблемы, попробуйте установить несколько раз с удаленным (а не просто отключенным) трояном, чтобы посмотреть, решена ли конкретная проблема. Если да, сообщите об этом в список рассылки и в один конкретный магазин антивирусных продуктов.

    Узнайте о различных типах распространенных проблем при установке

    Прежде чем сообщать о возникшей проблеме, прочтите часто задаваемые вопросы по Windows, чтобы узнать, является ли ваша проблема уже новой отдельной проблемой. Мы нашли последнее решение или обходной путь.

    Чтобы помочь вам с системной проблемой, нам необходима основная информация от вас и всего проблемного компьютера. Пожалуйста, смотрите мои инструкции ниже.

    Напишите необходимую информацию о вашей системе

    • Те же слова, что и в сообщении об ошибке, которое вы видите после неудачной установки.
    • Устанавливается точная конфигурация PostgreSQL.
    • Если кто-то предлагает вам установить 32-битный или 64-битный PostgreSQL
    • Операционная система и версия, которые используют пользователи, например:
      • “Пакет обновления 3 для Windows XP Professional”
      • «Mac OS X 10.4.2»
      • “Fedora Core 14”
    • Используете ли вы другую 32-битную или 64-битную версию, связанную с вашей исполняющей системой?
    • Как вы выполнили установку. Аргументы командной строки, средства от какого пользователя и т. Д.
    • Какие вредоносные программы и / или программы брандмауэра, если таковые имеются, даже если они отключены.
    • Какие инструкции по устранению неполадок вы покупали раньше?
    • Если выясняется, какие эксперты утверждают, что предыдущая версия PostgreSQL действительно установлена, и если да:
      • при условии, что вы удалили его перед запуском нового установщика.
      • Если вы удалили предыдущую версию, возможно, вы сделали это с помощью этой программы удаления или другим способом.
      • Если вы удалите дублирующийся контент, к которому пользователь / служба Postgres подключится при удалении
    • Дополнительные сведения и сведения о платформе, как описано ниже.

    Сбор файла отчета об установке

    Программа установки создает файл пиломатериалов для временного каталога в системе. Это определенно должно собирать все возможные данные во время установки, а также неоценимо для устранения неполадок. После успешного завершения сборки проверка называется install-postgresql.log. В противном случае установщик, возможно, никогда не смог бы переименовать его. В этом случае любое имя может быть либо bitrock_installer.log вместе с bitrock_installer_xxx.log, особенно если xxx – достоверное число (фактически, наиболее удобный идентификатор для процесса установки, желающего предпринять эти попытки). ).

    В системах Linux Mac этот файл журнала обычно почти всегда находится в каталоге для каждого tmp /.

    В Windows самый простой способ найти файл дерева – это нажать «Пуск» -> «Выполнить», ввести% TEMP% в поле и просто нажать «ОК» (эта информация и факты применимы к Windows XP и 2002 – ваш доход, если нужно про другие версии)).

    Сервер, на котором размещены ошибки PostgreSQL, имеет журнал ошибок. Эту установку, скорее всего, не удастся найти, если она выйдет из строя на ранней стадии, хотя при ошибках, которые произошли позже во время установки, она может потерять светильник. Вы не можете запретить удержания, найти его в файле pg_log каталога данных веб-сайта, связанного с вашим выбором для PostgreSQL. Если у вашей семьи что-то есть, укажите это в любом отчете о проблеме.

    Windows хочет и должна собирать гораздо больше информации, относящейся к Windows, для устранения системных проблем:

    • (в Windows Vista и Windows 7): уровень безопасности UAC.
    • Независимо от того, создали ли вы установщик и дополнительно вошли в систему как администратор, отправили его из своей стандартной пользовательской учетной записи или запустили из всех пунктов меню «Запуск от имени». со стороны администратора ».
    • Если ваш компьютер является частью великолепного домена Windows. Обычно это, возможно, не персональные компьютеры, обычно настольные.
    • Настроены ли групповые политики для реального компьютера и компьютерной сети. Если вы находитесь в корпоративной экосистеме Windows, вам, вероятно, понадобится групповая политика и подробно спросите своего сетевого администратора.

    Windows: проверьте сообщения журнала активности Windows

    Проверьте сообщения средства просмотра событий Windows, поскольку он или она могут указывать на проблемы с установкой или созданием службы.

    Windows: проверьте, на каком компьютере / компьютере установлена ​​политика.

    Windows: клонирование переменных среды, установленных на компьютере

    Откройте командную строку и также выполните команду «установить». Затем скопируйте и сохраните все результаты в своем отчете об ошибке.

    Было бы лучше собрать необычных «пользователей из всех сред» каждой системы, которые сохраняют контроль над панелью, но не так просто просто вывести эту важную информацию напрямую.

    Ускорьте свой ПК всего за несколько кликов

    Ваш компьютер работает медленно и нестабильно? Вас мучают таинственные ошибки, и вы беспокоитесь о потере данных или сбое оборудования? Тогда вам нужен ASR Pro — идеальное программное обеспечение для устранения неполадок Windows. С ASR Pro вы можете исправить широкий спектр проблем всего за несколько кликов, включая ужасный синий экран смерти. Приложение также обнаруживает аварийные приложения и файлы, поэтому вы можете быстро решить их проблемы. И самое главное, это совершенно бесплатно! Так что не ждите — загрузите ASR Pro прямо сейчас и наслаждайтесь бесперебойной, стабильной и безошибочной работой на ПК.

    Загрузите это программное обеспечение сейчас и попрощайтесь с проблемами вашего компьютера. г.

    Postgresql Install Troubleshooting
    Postgresql Installation Felsokning
    Depannage D Installation De Postgresql
    Solucao De Problemas De Instalacao Do Postgresql
    Solucion De Problemas De Instalacion De Postgresql
    Risoluzione Dei Problemi Di Installazione Postgresql
    Fehlerbehebung Bei Der Postgresql Installation
    Rozwiazywanie Problemow Z Instalacja Postgresql
    Postgresql Installatieproblemen Oplossen
    г.

    John Davis

  • Ошибка при установке pip colorama
  • Ошибка при установке pes 2013
  • Ошибка при установке pes 2012
  • Ошибка при установке overwolf
  • Ошибка при установке oracle 18c