1. installation finishes but database isn't initialized - error says that libintl-8.dll is missing
2. installation stops at the beginning - VisualC Redist Setup crashes - most common on Win7
Other reasons to install PG by hand is that even when using installer with command line options, you can't get the result you wanted, like database encoding, service user etc.
What will need is :
1. Postgres binaries
2. Ntrights.exe
Let's copy all files from postgres zip to c:\pgsql.
To create service-user - in cmd as admin
net user pgsql S0m3Pa5sW0rd /add
Now to properly configure service-user
ntrights.exe -u pgsql +r SeServiceLogonRight ntrights.exe -u pgsql -r SeInteractiveLogonRight wmic.exe USERACCOUNT WHERE "name='pgsql'" SET PasswordExpires=FALSE
Service-user needs full control over c:\pgsql
cacls "c:\pgsql" /T /E /G "pgsql":F
To properly initialize database we need to run cmd as service-user pgsql. Still as admin run
runas /user:pgsql cmd typ password when asked S0m3Pa5sW0rd
Now in new cmd window
cd c:\pgsql mkdir data cd bin initdb.exe -D ../data -E LATIN2 --locale="Czech, Czech Republic" exit
Now back in admins cmd
cd c:\pgsql\bin pg_ctl.exe register -N PG84 -U pgsql -P S0m3Pa5sW0rd -D "c:\pgsql\data" -w
On Windows Vista and newer you need to uncomment last line in c:\pgsql\data\pg_hba.conf, since those versions have ipv6 support turned on by default - to test if your system qualifies
ping ::1 echo %ERRORLEVEL%
if echo returns 0, change last line in pg_hba.conf like so (remove # at the beginning of the line)
host all all ::1/128 trust
To start the server - run services.msc , find and start PG84.
No comments:
Post a Comment