Web lists-archives.com

Re: Attention PostgreSQL maintainer




OK, here's and attempt at a set of install instructions for
  Windows 10 Professional Ver 10.0 Build 14393
  Cygwin DLL version: 2.9.0-3
  Postgresql: 9.6.5-2

I got slightly muddled with the cygserver and postgress
install-as-service steps, so the attached may not quite be right in that
regard, I won't be in a position to do another clean install until next
week to confirm, so happy to hear from someone else who can do so
sooner...

Maintainer: Please note what I believe to be a bug in the current
release which is described/fixed in the second step below.

ht

I was eventually able to follow a modified version of
"For the impatient: install as service (hard)" from
/usr/share/doc/Cygwin/postgresql.README, as follows:

* Dump your old database, if you had a previous installation

* !!!! IMPORTANT!!!: edit /etc/rc.d/init.d/postgresql
   to fix what I believe is a bug as shipped:
   On line 32 or thereabouts, change
    DAEMON="$progdir/$prog.exe"
   --->
    DAEMON="$progdir/$prog"

* Adjust any other (e.g. PATH) settings in /etc/rc.d/init.d/postgresql

* If you had an old installation, move the data directory
  (e.g. /usr/share/postgresql/data) elsewhere, or at least save
  .../data/postgresql.conf somewhere before you delete .../data

* If you don't already have cygserver running as a service:
    > /usr/bin/cygserver-config
    > cygrunsrv --start cygserver

* Initialise Postgresql
    > /etc/rc.d/init.d/postgresql initdb # in an elevated shell
     The files belonging to this database system will be owned by user "[you]".
     This user must also own the server process.

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

     Data page checksums are disabled.

     creating directory /usr/share/postgresql/data ... ok
     creating subdirectories ... ok
     selecting default max_connections ... 30
     selecting default shared_buffers ... 128MB
     selecting dynamic shared memory implementation ... posix
     creating configuration files ... ok
     running bootstrap script ... ok
     performing post-bootstrap initialization ... ok
     syncing data to disk ... ok

     WARNING: enabling "trust" authentication for local connections
     You can change this by editing pg_hba.conf or using the option -A, or
     --auth-local and --auth-host, the next time you run initdb.

     [Success. You can now start the database server using:

	 /usr/sbin/pg_ctl -D /usr/share/postgresql/data -l logfile start # ignore this!]

     done.

* If you had a previous install, do a diff between your saved
  postgresql.conf and the new .../data/postgresql.conf and copy over
  any substantive changes you had made and wish to keep

* Install as a service
  > /etc/rc.d/init.d/postgresql install
   - cygserver OK - Installing PostgreSQL daemon: done.
  > /etc/rc.d/init.d/postgresql start

* Cleanup up the initial odd role situation
  > psql -U SYSTEM postgres
   postgres=# ALTER ROLE "SYSTEM" WITH SUPERUSER INHERIT CREATEROLE CREATEDB LOGIN REPLICATION;
   postgres=# CREATE ROLE [yourCygwinLogin];
   postgres=# ALTER ROLE [yourCygwinLogin] WITH SUPERUSER INHERIT NOCREATEROLE CREATEDB LOGIN NOREPLICATION;
   postgres=# \q

* Create a database for yourself
  > psql -U [yourCygwinLogin] postgres
   postgres=# CREATE DATABASE xyzzy WITH TEMPLATE=template0 OWNER=[yourCygwinLogin] ENCODING=....;
   postgres=# \q
  > psql -U [yourCygwinLogin] xyzzy
   [off you go]
-- 
       Henry S. Thompson, School of Informatics, University of Edinburgh
      10 Crichton Street, Edinburgh EH8 9AB, SCOTLAND -- (44) 131 650-4440
                Fax: (44) 131 650-4587, e-mail: ht@xxxxxxxxxxxx
                       URL: http://www.ltg.ed.ac.uk/~ht/
 [mail from me _always_ has a .sig like this -- mail without it is forged spam]

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple