{"id":16478430,"url":"https://github.com/batazor/postgres-replica","last_synced_at":"2025-07-02T19:36:55.893Z","repository":{"id":256088649,"uuid":"854296118","full_name":"batazor/postgres-replica","owner":"batazor","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-09T19:42:59.000Z","size":7,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T06:12:21.352Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/batazor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-08T22:18:20.000Z","updated_at":"2024-09-14T07:27:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"25a6bd42-6dec-41a8-b88c-c0f9527aa343","html_url":"https://github.com/batazor/postgres-replica","commit_stats":{"total_commits":7,"total_committers":1,"mean_commits":7.0,"dds":0.0,"last_synced_commit":"291db38695d5bc86638c1e4994090560c4e0fb7c"},"previous_names":["batazor/postgres-replica"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batazor%2Fpostgres-replica","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batazor%2Fpostgres-replica/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batazor%2Fpostgres-replica/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/batazor%2Fpostgres-replica/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/batazor","download_url":"https://codeload.github.com/batazor/postgres-replica/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241150237,"owners_count":19918334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T12:49:19.025Z","updated_at":"2025-02-28T12:18:36.420Z","avatar_url":"https://github.com/batazor.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Postgres replica\n\n#### Getting start\n\n**Run master:**\n\n```\n# Run postgres master and slave\n$\u003e make up\n\n# Enter master container\n$\u003e docker exec -u postgres -it postgres-master bash\n\n# Run postgres on master\n$\u003e exec docker-entrypoint.sh postgres\n```\n\n**Run slave:**\n\n```\n# Enter slave container\n$\u003e docker exec -u postgres -it postgres-slave bash\n\n# Made replication\n$\u003e pg_basebackup -h postgres-master -U postgres -D /var/lib/postgresql/data -Fp -Xs -P -R\n\n# Run postgres on slave\n$\u003e exec docker-entrypoint.sh postgres\n```\n\n**Example:**\n\n```\n# Write to master\n$\u003e bash write_test_data.sh\n# Read from slave\n$\u003e bash read_from_slave.sh\n```\n\n**Slave to master:**\n\n```\n$\u003e docker exec -u postgres -it postgres-slave bash\n$\u003e pg_ctl promote -D /var/lib/postgresql/data\n```\n\n**Master to slave:**\n\n```\n$\u003e docker exec -u postgres -it postgres-master bash\n$\u003e pg_ctl stop -D /var/lib/postgresql/data -m fast\n\n$\u003e docker exec -u postgres -it postgres-master bash\n$\u003e rm -rf /var/lib/postgresql/data/*\n$\u003e pg_basebackup -h postgres-slave -U postgres -D /var/lib/postgresql/data -Fp -Xs -P -R\n$\u003e exec docker-entrypoint.sh postgres\n```\n\n**Example:**\n\n```\n# Write to master\n$\u003e bash write_test_data.sh -\u003e Error\n# Read from slave\n$\u003e bash read_from_slave.sh -\u003e response 2 rows\n```\n\nchange master -\u003e slave; slave -\u003e master in bash scripts and repeat the test\n\n```\n# Write to slave\n$\u003e bash write_test_data.sh -\u003e response 4 rows\n# Read from master or slave\n$\u003e bash read_from_slave.sh -\u003e response 4 rows\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbatazor%2Fpostgres-replica","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbatazor%2Fpostgres-replica","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbatazor%2Fpostgres-replica/lists"}