Giter Club home page Giter Club logo

Comments (7)

Winslett avatar Winslett commented on August 14, 2024

I'm thinking we should add rows for pg_hba.conf to the postgresX.yml files. As part of the initialization process, Governor should create the proper pg_hba.conf records. That would allow people to customize the cluster based on their needs.

postgres:
  pg_hba:
    - type: local
      database: all
      user: all
      method: trust
    - type: host    
      database: all
      user: all
      address: 127.0.0.1/32
      method: trust
    - type: host    
      database: all
      user: all
      address:  "::1/128"
      method: trust
    - type: hostssl
      database: all
      user: all
      address: 0.0.0.0/0
      type: md5

The replication user should automatically be added when creating the pg_hba.conf.

from governor.

tvb avatar tvb commented on August 14, 2024

@Winslett yes that would be a nice start.

from governor.

tvb avatar tvb commented on August 14, 2024

I think we need to (re)write the postgresql.conf as well for this to work:

Note: Remote TCP/IP connections will not be possible unless the server is started with an appropriate value for the listen_addresses configuration parameter, since the default behavior is to listen for TCP/IP connections only on the local loopback address localhost.

from governor.

s200999900 avatar s200999900 commented on August 14, 2024

Thank for interesting HA solution!

I tried to implement Postgres HA solution with governor not on localhost and that is not implement, there are many errors, fault's and etc (
I think bug need to prioritize.

from governor.

tvb avatar tvb commented on August 14, 2024

It is not really a bug. I have it working now on non-localhost ip addresses. I had to change the helpers/postgresql.py file so it will write the correct listen_addresses to postgresql.conf and had to move the write_pg_hba() en the extra write_postgresql_conf() function before the pg_ctl start function together with the changes in the first post to get postgres to start correctly.

def initialize(self):
        if os.system("initdb -D %s" % self.data_dir) == 0:
            # start Postgres without options to setup replication user indepedent of other system settings
            self.write_postgresql_conf()
            self.write_pg_hba()
            os.system("pg_ctl start -w -D %s" % self.data_dir)

the postgresql_conf function itself:

    def write_postgresql_conf(self):
        f = open("%s/postgresql.conf" % self.data_dir, "a")
        f.write("listen_addresses = '%s'" % self.host )
        f.close()

from governor.

wkielas avatar wkielas commented on August 14, 2024

@tvb, do you have the non-localhost code available somewhere, like a fork or a branch? I'd love to take a look at it ;-)

from governor.

tvb avatar tvb commented on August 14, 2024

@wkielas sorry. I do not :(

from governor.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.