Thread

  1. [patch] pg_ctl init extension

    Zdenek Kotala <zdenek.kotala@sun.com> — 2009-09-17T19:43:09Z

    Attached patch extends pg_ctl command with init option. 
    
    pg_ctl -D /var/lib/postgres [-s] init
    
    This should replace usage of initdb command which has problematic name
    as we already discussed several times. Initdb binary will be still
    there, but it can be renamed and move into execlib dir in the future.
    
    Patch does not contains documentation changes. They will depends on
    decision which database initialization method will be preferred.
    
    
    
    	Zdenek
    
    
  2. Re: [patch] pg_ctl init extension

    Peter Eisentraut <peter_e@gmx.net> — 2009-09-17T20:00:12Z

    On tor, 2009-09-17 at 21:43 +0200, Zdenek Kotala wrote:
    > Attached patch extends pg_ctl command with init option. 
    > 
    > pg_ctl -D /var/lib/postgres [-s] init
    > 
    > This should replace usage of initdb command which has problematic name
    > as we already discussed several times. Initdb binary will be still
    > there, but it can be renamed and move into execlib dir in the future.
    
    If the name is a problem, why not change the name?  What you are
    proposing above is effectively a very elaborate name change, so why not
    go for a simpler one?
    
    
    
  3. Re: [patch] pg_ctl init extension

    Bernd Helmle <mailings@oopsware.de> — 2009-09-17T21:26:14Z

    
    --On 17. September 2009 23:00:12 +0300 Peter Eisentraut <peter_e@gmx.net> 
    wrote:
    
    > f the name is a problem, why not change the name?  What you are
    > proposing above is effectively a very elaborate name change, so why not
    > go for a simpler one?
    
    I don't like the solution by using -o "<initdb options>" to push down 
    command line options to initdb. I always had the opinion that this was (and 
    is) a valid workaround for postgres itself, but it doesn't feel correct to 
    expose that further to initdb and its purposes.
    
    My 2 cents...
    
    -- 
    Thanks
    
    	Bernd
    
    
  4. Re: [patch] pg_ctl init extension

    Zdenek Kotala <zdenek.kotala@sun.com> — 2009-09-18T06:43:59Z

    Peter Eisentraut píše v čt 17. 09. 2009 v 23:00 +0300:
    > On tor, 2009-09-17 at 21:43 +0200, Zdenek Kotala wrote:
    > > Attached patch extends pg_ctl command with init option. 
    > > 
    > > pg_ctl -D /var/lib/postgres [-s] init
    > > 
    > > This should replace usage of initdb command which has problematic name
    > > as we already discussed several times. Initdb binary will be still
    > > there, but it can be renamed and move into execlib dir in the future.
    > 
    > If the name is a problem, why not change the name?  What you are
    > proposing above is effectively a very elaborate name change, so why not
    > go for a simpler one?
    
    The idea is to have one command for server control. By my opinion init
    logically belongs to group of command like start/stop. It is also
    possible to add parameter for init+start in one command and so on.
    If you look on ZFS you have only two commands to manage everything, it
    is easy and you can start to use ZFS very quickly. I think this patch
    increase usability/adoption od postgreSQL for newbies.
    
    And second big advantage is that it would be possible easily extend
    pg_ctl to cope with different postgresql versions (e.g. "pg_ctl -v 8.2
    -D . init"). There is no reason why pg_ctl couldn't start different
    postgreSQL version depends on PG_VERSION in data directory.
    
    		Zdenek
    
    
    
    
  5. Re: [patch] pg_ctl init extension

    Zdenek Kotala <zdenek.kotala@sun.com> — 2009-09-18T06:51:56Z

    Bernd Helmle píše v čt 17. 09. 2009 v 23:26 +0200:
    > 
    > --On 17. September 2009 23:00:12 +0300 Peter Eisentraut <peter_e@gmx.net> 
    > wrote:
    > 
    > > f the name is a problem, why not change the name?  What you are
    > > proposing above is effectively a very elaborate name change, so why not
    > > go for a simpler one?
    > 
    > I don't like the solution by using -o "<initdb options>" to push down 
    > command line options to initdb. I always had the opinion that this was (and 
    > is) a valid workaround for postgres itself, but it doesn't feel correct to 
    > expose that further to initdb and its purposes.
    
    hmm, I could modify it that all args after init keyword will be pass to
    the initdb like this:
    
    pg_ctl -D /tmp/db init [<my favorite switches>]
     
      initdb [<my favorite switches>]
    
    and "pg_ctl -h init" will show help which commands are allowed.
    
    	Zdenek
    
    
    
  6. Re: [patch] pg_ctl init extension

    Peter Eisentraut <peter_e@gmx.net> — 2009-11-14T08:41:47Z

    On tor, 2009-09-17 at 21:43 +0200, Zdenek Kotala wrote:
    > Attached patch extends pg_ctl command with init option. 
    > 
    > pg_ctl -D /var/lib/postgres [-s] init
    > 
    > This should replace usage of initdb command which has problematic name
    > as we already discussed several times. Initdb binary will be still
    > there, but it can be renamed and move into execlib dir in the future.
    > 
    > Patch does not contains documentation changes. They will depends on
    > decision which database initialization method will be preferred.
    
    OK, let's see.  The patch is pretty straightforward, but does anyone
    else actually want this?  Comments?
    
    
    
  7. Re: [patch] pg_ctl init extension

    Zdenek Kotala <zdenek.kotala@sun.com> — 2009-11-14T13:50:38Z

    Peter Eisentraut píše v so 14. 11. 2009 v 10:41 +0200:
    > On tor, 2009-09-17 at 21:43 +0200, Zdenek Kotala wrote:
    > > Attached patch extends pg_ctl command with init option. 
    > > 
    > > pg_ctl -D /var/lib/postgres [-s] init
    > > 
    > > This should replace usage of initdb command which has problematic name
    > > as we already discussed several times. Initdb binary will be still
    > > there, but it can be renamed and move into execlib dir in the future.
    > > 
    > > Patch does not contains documentation changes. They will depends on
    > > decision which database initialization method will be preferred.
    > 
    > OK, let's see.  The patch is pretty straightforward, but does anyone
    > else actually want this?  Comments?
    > 
    
    Maybe we could ask on general where is more admins. I will send voting
    email.
    
    	thanks for looking on this
    
    		Zdenek
    
    
    
  8. Re: [patch] pg_ctl init extension

    Peter Eisentraut <peter_e@gmx.net> — 2009-11-21T11:19:29Z

    On lör, 2009-11-14 at 14:50 +0100, Zdenek Kotala wrote:
    > Peter Eisentraut píše v so 14. 11. 2009 v 10:41 +0200:
    > > On tor, 2009-09-17 at 21:43 +0200, Zdenek Kotala wrote:
    > > > Attached patch extends pg_ctl command with init option. 
    > > > 
    > > > pg_ctl -D /var/lib/postgres [-s] init
    > > > 
    > > > This should replace usage of initdb command which has problematic name
    > > > as we already discussed several times. Initdb binary will be still
    > > > there, but it can be renamed and move into execlib dir in the future.
    > > > 
    > > > Patch does not contains documentation changes. They will depends on
    > > > decision which database initialization method will be preferred.
    > > 
    > > OK, let's see.  The patch is pretty straightforward, but does anyone
    > > else actually want this?  Comments?
    > > 
    > 
    > Maybe we could ask on general where is more admins. I will send voting
    > email.
    
    I think this is over now.  There was some support, some "don't care, but
    could make sense", and no one violently objecting, so please finish the
    patch up with documentation, and it can go in as far as I'm concerned.
    
    Someone was proposing that pg_ctl initdb be an alias to pg_ctl init.
    Perhaps you could add that.
    
    
    
  9. Re: [patch] pg_ctl init extension

    Zdenek Kotala <zdenek.kotala@sun.com> — 2009-12-04T21:34:59Z

    I attached updated patch and doc patch.
    
    	Zdenek
    
    	
    
    Peter Eisentraut píše v so 21. 11. 2009 v 13:19 +0200:
    > On lör, 2009-11-14 at 14:50 +0100, Zdenek Kotala wrote:
    > > Peter Eisentraut píše v so 14. 11. 2009 v 10:41 +0200:
    > > > On tor, 2009-09-17 at 21:43 +0200, Zdenek Kotala wrote:
    > > > > Attached patch extends pg_ctl command with init option. 
    > > > > 
    > > > > pg_ctl -D /var/lib/postgres [-s] init
    > > > > 
    > > > > This should replace usage of initdb command which has problematic name
    > > > > as we already discussed several times. Initdb binary will be still
    > > > > there, but it can be renamed and move into execlib dir in the future.
    > > > > 
    > > > > Patch does not contains documentation changes. They will depends on
    > > > > decision which database initialization method will be preferred.
    > > > 
    > > > OK, let's see.  The patch is pretty straightforward, but does anyone
    > > > else actually want this?  Comments?
    > > > 
    > > 
    > > Maybe we could ask on general where is more admins. I will send voting
    > > email.
    > 
    > I think this is over now.  There was some support, some "don't care, but
    > could make sense", and no one violently objecting, so please finish the
    > patch up with documentation, and it can go in as far as I'm concerned.
    > 
    > Someone was proposing that pg_ctl initdb be an alias to pg_ctl init.
    > Perhaps you could add that.
    > 
    
    
  10. Re: [patch] pg_ctl init extension

    Greg Smith <greg@2ndquadrant.com> — 2009-12-07T03:29:31Z

    I just noticed that there was an updated patch here that never made its 
    way onto the CommitFest app listing.  I just fixed that and took a quick 
    look at it.  I was in favor of this code change, but I have to say even 
    I don't really like how it ended up getting documented--and I'm sure 
    there are others would be downright hostile toward it.
    
    The biggest problem is that all of the places that used to say 
    "<command><initdb>" when talking about creating a cluster now just say 
    "database cluster initialization"--with no link to a section covering 
    that topic.  That's not a good forward step.  The part I'm more 
    favorable toward that I expect other people to really cringe at is that 
    the examples showing how to manually run initdb have all been switched 
    to use "pg_ctl initdb" too.
    
    If we're going to have a smooth transition toward supporting both styles 
    of working in the next release, I think what needs to happen to the 
    documentation here is adding a very clear section saying that "initdb" 
    and "pg_ctl initdb" are the same thing, and noting why both forms 
    exist.  Maybe a short note in both pg_ctl and initdb pointing at each 
    other; not sure yet what's best.  Then update all the current places 
    that say "initdb" that have been rewritten in this doc patch to 
    "database cluster initialization" to reference things appropriate still. 
    
    Going as far as making all the examples exclusively use the pg_ctl form 
    right now is probably more than the community at large wants to handle 
    just yet I suspect.  At best, maybe we could make some or all of those 
    either use both forms, or link them to the new discussion of 
    alternatives section. 
    
    I'm glad we made some progress (and are basically at code complete now) 
    on this patch this round.  Given that this patch doesn't have a large 
    amount of support, I think that the remaining work here is fine-tuning 
    the documentation to cover the new option available without introducing 
    and abrupt change people won't like.  I'm going to mark this "returned 
    with feedback" for now since I think that's going to take a bit more 
    work than we really have time for right now, particularly given the 
    limited number of people who care about this change.  Zdenek, once this 
    CommitFest clears out, I can help out with getting the documentation 
    parts here smoothed over so this is in proper shape to commit during the 
    next one; I don't think there's anything left you need to do.
    
    -- 
    Greg Smith    2ndQuadrant   Baltimore, MD
    PostgreSQL Training, Services and Support
    greg@2ndQuadrant.com  www.2ndQuadrant.com
    
    
    
  11. Re: [patch] pg_ctl init extension

    Tom Lane <tgl@sss.pgh.pa.us> — 2009-12-07T06:19:14Z

    Greg Smith <greg@2ndquadrant.com> writes:
    > The biggest problem is that all of the places that used to say 
    > "<command><initdb>" when talking about creating a cluster now just say 
    > "database cluster initialization"--with no link to a section covering 
    > that topic.  That's not a good forward step.  The part I'm more 
    > favorable toward that I expect other people to really cringe at is that 
    > the examples showing how to manually run initdb have all been switched 
    > to use "pg_ctl initdb" too.
    
    That's easily dealt with ;-) ... just rip out all those parts of the
    diff.  I think all that needs to be done in the docs is to list the initdb
    option in the pg_ctl reference page.
    
    If you think it's code-complete, let's just commit the code and not
    try to have a re-education project going on with the docs.
    
    			regards, tom lane
    
    
  12. Re: [patch] pg_ctl init extension

    Zdenek Kotala <zdenek.kotala@sun.com> — 2009-12-07T16:22:07Z

    Greg,
    
    thanks for your useful comments. I attached  new doc patch version. I
    removed example changes and add link to create database cluster (I hope)
    everywhere. Please, look on it and let me know if there is still
    something what should be changed.
    
    	Thanks Zdenek
    
    
    Greg Smith píše v ne 06. 12. 2009 v 22:29 -0500:
    > I just noticed that there was an updated patch here that never made its 
    > way onto the CommitFest app listing.  I just fixed that and took a quick 
    > look at it.  I was in favor of this code change, but I have to say even 
    > I don't really like how it ended up getting documented--and I'm sure 
    > there are others would be downright hostile toward it.
    > 
    > The biggest problem is that all of the places that used to say 
    > "<command><initdb>" when talking about creating a cluster now just say 
    > "database cluster initialization"--with no link to a section covering 
    > that topic.  That's not a good forward step.  The part I'm more 
    > favorable toward that I expect other people to really cringe at is that 
    > the examples showing how to manually run initdb have all been switched 
    > to use "pg_ctl initdb" too.
    > 
    > If we're going to have a smooth transition toward supporting both styles 
    > of working in the next release, I think what needs to happen to the 
    > documentation here is adding a very clear section saying that "initdb" 
    > and "pg_ctl initdb" are the same thing, and noting why both forms 
    > exist.  Maybe a short note in both pg_ctl and initdb pointing at each 
    > other; not sure yet what's best.  Then update all the current places 
    > that say "initdb" that have been rewritten in this doc patch to 
    > "database cluster initialization" to reference things appropriate still. 
    > 
    > Going as far as making all the examples exclusively use the pg_ctl form 
    > right now is probably more than the community at large wants to handle 
    > just yet I suspect.  At best, maybe we could make some or all of those 
    > either use both forms, or link them to the new discussion of 
    > alternatives section. 
    > 
    > I'm glad we made some progress (and are basically at code complete now) 
    > on this patch this round.  Given that this patch doesn't have a large 
    > amount of support, I think that the remaining work here is fine-tuning 
    > the documentation to cover the new option available without introducing 
    > and abrupt change people won't like.  I'm going to mark this "returned 
    > with feedback" for now since I think that's going to take a bit more 
    > work than we really have time for right now, particularly given the 
    > limited number of people who care about this change.  Zdenek, once this 
    > CommitFest clears out, I can help out with getting the documentation 
    > parts here smoothed over so this is in proper shape to commit during the 
    > next one; I don't think there's anything left you need to do.
    > 
    
    
  13. Re: [patch] pg_ctl init extension

    Greg Smith <greg@2ndquadrant.com> — 2009-12-09T03:44:33Z

    Zdenek Kotala wrote:
    > thanks for your useful comments. I attached  new doc patch version. I
    > removed example changes and add link to create database cluster (I hope)
    > everywhere. Please, look on it and let me know if there is still
    > something what should be changed.
    >   
    That looks much better.  There's only one bit that sticks out oddly now:
    
    +   Note: The <command>initdb</command> might be invoked by
    +   <command>pg_ctl initdb</command> and <command>initdb</command> cannot be in 
    +   default path on a <productname>PostgreSQL</productname> installations.   
    
    
    
    What is that supposed to mean exactly?
    
    -- 
    Greg Smith    2ndQuadrant   Baltimore, MD
    PostgreSQL Training, Services and Support
    greg@2ndQuadrant.com  www.2ndQuadrant.com
    
    
    
  14. Re: [patch] pg_ctl init extension

    Zdenek Kotala <zdenek.kotala@sun.com> — 2009-12-09T13:32:35Z

    Greg Smith píše v út 08. 12. 2009 v 22:44 -0500:
    > Zdenek Kotala wrote:
    > > thanks for your useful comments. I attached  new doc patch version. I
    > > removed example changes and add link to create database cluster (I hope)
    > > everywhere. Please, look on it and let me know if there is still
    > > something what should be changed.
    > >   
    > That looks much better.  There's only one bit that sticks out oddly now:
    > 
    > +   Note: The <command>initdb</command> might be invoked by
    > +   <command>pg_ctl initdb</command> and <command>initdb</command> cannot be in 
    > +   default path on a <productname>PostgreSQL</productname> installations.   
    > 
    > 
    > 
    > What is that supposed to mean exactly?
    
    Ahh, It is somethink what I want to do, but it is not ready yet in this
    patch, but I already documented it. Idea is to install initdb and
    postgres into libexecdir and packager can select if libexecdir will be
    equal bindir or not. 
    
    The paragraph should be removed at this moment. Shell I send modified
    patch or does committer remove it before commit?
    
    	thanks Zdenek
    
    
    
  15. Re: [patch] pg_ctl init extension

    Robert Haas <robertmhaas@gmail.com> — 2009-12-09T13:56:16Z

    On Dec 9, 2009, at 8:32 AM, Zdenek Kotala <Zdenek.Kotala@Sun.COM> wrote:
    
    > Greg Smith píše v út 08. 12. 2009 v 22:44 -0500:
    >> Zdenek Kotala wrote:
    >>> thanks for your useful comments. I attached  new doc patch  
    >>> version. I
    >>> removed example changes and add link to create database cluster (I  
    >>> hope)
    >>> everywhere. Please, look on it and let me know if there is still
    >>> something what should be changed.
    >>>
    >> That looks much better.  There's only one bit that sticks out oddly  
    >> now:
    >>
    >> +   Note: The <command>initdb</command> might be invoked by
    >> +   <command>pg_ctl initdb</command> and <command>initdb</command>  
    >> cannot be in
    >> +   default path on a <productname>PostgreSQL</productname>  
    >> installations.
    >>
    >>
    >>
    >> What is that supposed to mean exactly?
    >
    > Ahh, It is somethink what I want to do, but it is not ready yet in  
    > this
    > patch, but I already documented it. Idea is to install initdb and
    > postgres into libexecdir and packager can select if libexecdir will be
    > equal bindir or not.
    >
    > The paragraph should be removed at this moment. Shell I send modified
    > patch or does committer remove it before commit?
    
    I think Peter claimed this one but as far as I am concerned, I would  
    always rather have an updated patch.
    
    ...Robert
    
  16. Re: [patch] pg_ctl init extension

    Zdenek Kotala <zdenek.kotala@sun.com> — 2009-12-09T14:18:58Z

    Robert Haas píše v st 09. 12. 2009 v 08:56 -0500:
    > On Dec 9, 2009, at 8:32 AM, Zdenek Kotala <Zdenek.Kotala@Sun.COM> wrote:
    
    <snip>
    > >
    > > Ahh, It is somethink what I want to do, but it is not ready yet in  
    > > this
    > > patch, but I already documented it. Idea is to install initdb and
    > > postgres into libexecdir and packager can select if libexecdir will be
    > > equal bindir or not.
    > >
    > > The paragraph should be removed at this moment. Shell I send modified
    > > patch or does committer remove it before commit?
    > 
    > I think Peter claimed this one but as far as I am concerned, I would  
    > always rather have an updated patch.
    
    OK, here it is.
    
    	Thanks Zdenek
    
    
  17. Re: [patch] pg_ctl init extension

    Peter Eisentraut <peter_e@gmx.net> — 2009-12-10T06:33:29Z

    On ons, 2009-12-09 at 15:18 +0100, Zdenek Kotala wrote:
    > Robert Haas píše v st 09. 12. 2009 v 08:56 -0500:
    > > On Dec 9, 2009, at 8:32 AM, Zdenek Kotala <Zdenek.Kotala@Sun.COM> wrote:
    > 
    > <snip>
    > > >
    > > > Ahh, It is somethink what I want to do, but it is not ready yet in  
    > > > this
    > > > patch, but I already documented it. Idea is to install initdb and
    > > > postgres into libexecdir and packager can select if libexecdir will be
    > > > equal bindir or not.
    > > >
    > > > The paragraph should be removed at this moment. Shell I send modified
    > > > patch or does committer remove it before commit?
    > > 
    > > I think Peter claimed this one but as far as I am concerned, I would  
    > > always rather have an updated patch.
    > 
    > OK, here it is.
    
    Committed with some adjustments.