+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité régulier
    Inscrit en
    avril 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : avril 2009
    Messages : 12
    Points : 5
    Points
    5

    Par défaut Pgpool II, seul le premier noeud est répliqué

    Bonjour,

    Je rencontre un problème avec Pgpool II. Je souhaite l'installer pour essayer la réplication.
    J'ai fait ma configuration avec 2 noeuds, donc je souhaiterais que toutes mes requêtes soient répliquées dans les 2 bases postgres, cependant, les requêtes prennent effet que sur le 1er noeud enregistré dans le fichier de conf. (si je met le noeaud A en 1er, celui-ci prendra effet, et inversement, si je met le noeud B en 1er, c'est ce dernier qui prendra effet)
    Si quelqu'un maitrise bien pgpool, je suis quasiment sur que mon problèmen'est pas compliqué, mais je ne trouve pas la solution.

    Pour les plus courageux, voici mon fichier de conf :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
     
    #
    # pgpool-II configuration file sample for replication mode
    # $Header: /cvsroot/pgpool/pgpool-II/pgpool.conf.sample-replication,v 1.3 2010/01/31 02:22:24 t-ishii Exp $
     
    # Host name or IP address to listen on: '*' for all, '' for no TCP/IP
    # connections
    listen_addresses = '*'
     
    # Port number for pgpool
    port = 9999
     
    # Port number for pgpool communication manager
    pcp_port = 9898
     
    # Unix domain socket path.  (The Debian package defaults to
    # /var/run/postgresql.)
    socket_dir = '/tmp'
     
    # Unix domain socket path for pgpool communication manager.
    # (Debian package defaults to /var/run/postgresql)
    pcp_socket_dir = '/tmp'
     
    # Unix domain socket path for the backend. Debian package defaults to /var/run/postgresql!
    backend_socket_dir = '/tmp'
     
    # pgpool communication manager timeout. 0 means no timeout, but strongly not recommended!
    pcp_timeout = 10
     
    # number of pre-forked child process
    num_init_children = 32
     
    # Number of connection pools allowed for a child process
    max_pool = 4
     
    # If idle for this many seconds, child exits.  0 means no timeout.
    child_life_time = 300
     
    # If idle for this many seconds, connection to PostgreSQL closes.
    # 0 means no timeout.
    connection_life_time = 0
     
    # If child_max_connections connections were received, child exits.
    # 0 means no exit.
    child_max_connections = 0
     
    # If client_idle_limit is n (n > 0), the client is forced to be
    # disconnected whenever after n seconds idle (even inside an explicit
    # transactions!)
    # 0 means no disconnect.
    client_idle_limit = 0
     
    # Maximum time in seconds to complete client authentication.
    # 0 means no timeout.
    authentication_timeout = 60
     
    # Logging directory
    logdir = '/tmp'
     
    # pid file name
    pid_file_name = '/var/run/pgpool/pgpool.pid'
     
    # Replication mode
    replication_mode = true
     
    # Load balancing mode, i.e., all SELECTs are load balanced.
    # This is ignored if replication_mode is false.
    load_balance_mode = true
     
    # if there's a data mismatch between master and secondary
    # start degeneration to stop replication mode
    replication_stop_on_mismatch = false
     
    # If true, replicate SELECT statement when load balancing is disabled.
    # If false, it is only sent to the master node.
    replicate_select = false
     
    # Semicolon separated list of queries to be issued at the end of a
    # session
    reset_query_list = 'ABORT; DISCARD ALL'
    # for 8.2 or older this should be as follows. 
    #reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
     
    # If true print timestamp on each log line.
    print_timestamp = true
     
    # If true, operate in master/slave mode.
    master_slave_mode = false
     
    # If true, cache connection pool.
    connection_cache = true
     
    # Health check timeout.  0 means no timeout.
    health_check_timeout = 20
     
    # Health check period.  0 means no health check.
    health_check_period = 60
     
    # Health check user
    health_check_user = 'aurelien'
     
    # Execute command by failover.
    # special values:  %d = node id
    #                  %h = host name
    #                  %p = port number
    #                  %D = database cluster path
    #                  %m = new master node id
    #                  %M = old master node id
    #                  %% = '%' character
    #
    failover_command = ''
     
    # Execute command by failback.
    # special values:  %d = node id
    #                  %h = host name
    #                  %p = port number
    #                  %D = database cluster path
    #                  %m = new master node id
    #                  %M = old master node id
    #                  %% = '%' character
    #
    failback_command = ''
     
    # If true, trigger fail over when writing to the backend communication
    # socket fails. This is the same behavior of pgpool-II 2.2.x or
    # earlier. If set to false, pgpool will report an error and disconnect
    # the session.
    fail_over_on_backend_error = true
     
    # If true, automatically locks a table with INSERT statements to keep
    # SERIAL data consistency.  If the data does not have SERIAL data
    # type, no lock will be issued. An /*INSERT LOCK*/ comment has the
    # same effect.  A /NO INSERT LOCK*/ comment disables the effect.
    insert_lock = true
     
    # If true, ignore leading white spaces of each query while pgpool judges
    # whether the query is a SELECT so that it can be load balanced.  This
    # is useful for certain APIs such as DBI/DBD which is known to adding an
    # extra leading white space.
    ignore_leading_white_space = true
     
    # If true, print all statements to the log.  Like the log_statement option
    # to PostgreSQL, this allows for observing queries without engaging in full
    # debugging.
    log_statement = true
     
    # If true, print all statements to the log. Similar to log_statement except
    # that prints DB node id and backend process id info.
    log_per_node_statement = true
     
    # If true, incoming connections will be printed to the log.
    log_connections = true
     
    # If true, hostname will be shown in ps status. Also shown in
    # connection log if log_connections = true.
    # Be warned that this feature will add overhead to look up hostname.
    log_hostname = true
     
    # if non 0, run in parallel query mode
    parallel_mode = false
     
    # if non 0, use query cache
    enable_query_cache = false
     
    #set pgpool2 hostname 
    pgpool2_hostname = ''
     
    # system DB info
    system_db_hostname = 'localhost'
    system_db_port = 5432
    system_db_dbname = 'pgpool'
    system_db_schema = 'pgpool_catalog'
    system_db_user = 'postgres'
    system_db_password = 'postgres'
     
    # backend_hostname, backend_port, backend_weight
    # here are examples
     
    # - HBA -
     
    # If true, use pool_hba.conf for client authentication. In pgpool-II
    # 1.1, the default value is false. The default value will be true in
    # 1.2.
    enable_pool_hba = false
     
    # - online recovery -
    # online recovery user
    recovery_user = 'nobody'
     
    # online recovery password
    recovery_password = ''
     
    # execute a command in first stage.
    recovery_1st_stage_command = ''
     
    # execute a command in second stage.
    recovery_2nd_stage_command = ''
     
    # maximum time in seconds to wait for the recovering node's postmaster
    # start-up. 0 means no wait.
    # this is also used as a timer waiting for clients disconnected before
    # starting 2nd stage
    recovery_timeout = 90
     
    # If client_idle_limit_in_recovery is n (n > 0), the client is forced
    # to be disconnected whenever after n seconds idle (even inside an
    # explicit transactions!)  0 means no disconnect. This parameter only
    # takes effect in recovery 2nd stage.
    client_idle_limit_in_recovery = 0
     
    # Specify table name to lock. This is used when rewriting lo_creat
    # command in replication mode. The table must exist and has writable
    # permission to public. If the table name is '', no rewriting occurs.
    lobj_lock_table = ''
     
    # If true, enable SSL support for both frontend and backend connections.
    # note that you must also set ssl_key and ssl_cert for SSL to work in
    # the frontend connections.
    ssl = false
    # path to the SSL private key file
    #ssl_key = './server.key'
    # path to the SSL public certificate file
    #ssl_cert = './server.cert'
     
    # If either ssl_ca_cert or ssl_ca_cert_dir is set, then certificate
    # verification will be performed to establish the authenticity of the
    # certificate.  If neither is set to a nonempty string then no such
    # verification takes place.  ssl_ca_cert should be a path to a single
    # PEM format file containing CA root certificate(s), whereas ssl_ca_cert_dir
    # should be a directory containing such files.  These are analagous to the
    # -CAfile and -CApath options to openssl verify(1), respectively.
    #ssl_ca_cert = ''
    #ssl_ca_cert_dir = ''
    replication_timeout = 5000
    backend_hostname0 = '10.40.246.104'
    backend_port0 = 5432
    backend_weight0 = 1
    backend_data_directory0 = '/usr/local/pgsql/data'
    backend_hostname1 = 'localhost'
    backend_port1 = 5432
    backend_weight1 = 1
    backend_data_directory1 = '/usr/local/pgsql/data'

  2. #2
    Invité de passage
    Étudiant
    Inscrit en
    avril 2010
    Messages
    3
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : avril 2010
    Messages : 3
    Points : 3
    Points
    3

    Par défaut

    Bonjour,
    Je ne sais pas si tu as trouvé une solution pour ta configuration de pgpool, mais si c'est le cas je veux bien un coup de main. Personnellement je suis un peu bloqué dans la configuration : en effet que j'utilise le paquet rpm ou que je compile les sources du logiciel, il ne me crée pas de fichier pcp.conf
    Je ne sais pas s'il faut que je le fasse à la main ou pas...
    Du coup si toi ou un autre pouviez m'indiquer la procédure

    Merci beaucoup

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •