顯示具有 PostgreSQL 標籤的文章。 顯示所有文章
顯示具有 PostgreSQL 標籤的文章。 顯示所有文章

2023年5月28日 星期日

postgresql replication with docker-compose in AS1102T

docker-compose.yml

version: '2'


services:

  postgresql-slave:

    image: 'postgres:13'

    ports:

      - '5433:5433'

    environment:

      - POSTGRES_USERNAME=postgres

      - POSTGRES_PASSWORD=password

    volumes:

      - ../postgresql/data:/var/lib/postgresql/data


    networks:

      - disable_ipv6



networks:

  disable_ipv6:

    external: true


postgresql-master
    su postgres 
    psql -p 5433 
    CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD 'password'; 
    SELECT * FROM pg_create_physical_replication_slot('replication_slot_slave1');

 postgresql.conf: 
     wal_level = replica 
 pg_hba.conf: 
     host replication replicator 0.0.0.0/0 trust 

postgresql-slave
exec docker-compose
    docker-compose exec -it postgresql-slave bash 
    cd /var/lib/postgresql/data  

    postgresql.conf: 
       wal_level = replica 
       primary_conninfo = 'user=replicator password=password channel_binding=prefer host=masterip port=5433 sslmode=prefer sslcompression=0 ssl_min_protocol_version=TLSv1.2 gssencmode=prefer krbsrvname=postgres target_session_attrs=any'
       primary_slot_name = 'replication_slot_slave1'

       hot_standby = on 
       restore_command = 'cp /var/lib/postgresql/data/pg_wal/%f "%p"' 
    mkdir masterdata 
    cd masterdata 
    pg_basebackup -h masterip -U replicator -p 5433 -D ./ -Fp -Xs -P -R -W 
    exit 
    docker-compose stop 
    postgresq/data: 
        mv *.conf ../ 
        mv masterdata ../ 
        rm -rf * 
        mv ../*.conf ./ 
        mv masterdata/* ./ 
    docker-compose start 

postgresql-master 
    su postgres 
    psql -p 5433 
    select * from pg_stat_replication;
    SELECT * FROM pg_replication_slots;

2008年3月25日 星期二

Tomcat & MySQL & PostgreSQL

November 24th, 2007

最近要用JSP來連資料庫做作業.

用Non DBCP的方式來連資料庫卻出現

java.security.AccessControlException: access denied

找了好久才想到先前用resin的時候明明不會有問題

難道是Tomcat有什麼限制?所以就找了Tomcat 與 security

才發現使用Tomcat security的設定檔是catalina.policy

要自己加入連JDBC的權限.

因為用的OS是Ubuntu , 要修改的檔放在policy.d裡

在50user.policy裡加入

grant {
permission java.net.SocketPermission "*:3306-", "connect";
permission java.net.SocketPermission "*:5432-", "connect";
};

照理講要指定哪個檔做為要管理的權限

但是明明都key對, 還是一樣出現錯誤

只好這樣做啦!!

重點是文件要好好看.不要找錯方向XD