bucardo | Bucardo multimaster and master/slave Postgres replication | Change Data Capture library

 by   bucardo Perl Version: 5.6.0 License: Non-SPDX

kandi X-RAY | bucardo Summary

kandi X-RAY | bucardo Summary

bucardo is a Perl library typically used in Utilities, Change Data Capture, Amazon S3 applications. bucardo has no bugs, it has no vulnerabilities and it has low support. However bucardo has a Non-SPDX License. You can download it from GitHub.

Bucardo - a table-based replication system.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              bucardo has a low active ecosystem.
              It has 659 star(s) with 97 fork(s). There are 34 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 27 open issues and 189 have been closed. On average issues are closed in 2905 days. There are 8 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of bucardo is 5.6.0

            kandi-Quality Quality

              bucardo has no bugs reported.

            kandi-Security Security

              bucardo has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.

            kandi-License License

              bucardo has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              bucardo releases are not available. You will need to build from source code and install.
              Installation instructions are not available. Examples and code snippets are available.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of bucardo
            Get all kandi verified functions for this library.

            bucardo Key Features

            No Key Features are available at this moment for bucardo.

            bucardo Examples and Code Snippets

            No Code Snippets are available at this moment for bucardo.

            Community Discussions

            QUESTION

            CREATE LANGUAGE plperlu; fails despite postgresql-plperl-12 being installed
            Asked 2021-Jun-22 at 22:13

            I'm on an Ubuntu-derived system (specifically pop_os from System76). I am trying to get Bucardo installed, but it appears to be failing because plperlu is not functional.

            In a psql prompt:

            ...

            ANSWER

            Answered 2021-Jun-22 at 22:13

            The issue is that there are multiple versions of Postgres running as servers. Running pg_lsclusters will show what they are. The CREATE EXTENSION fails as the extension code for the version of Postgres that the command is being run on has not been installed.

            Source https://stackoverflow.com/questions/68090238

            QUESTION

            Can you use AWS DMS to move Aurora DB from one account to another?
            Asked 2021-Mar-14 at 22:38

            I am trying to migrate an Aurora cluster from one of our accounts to another. We actually do not have a lot write requests and the database itself is quite small, but somehow we decided to minimize the downtime.

            I have looked into several options

            1. Use snapshot: cut off the mutation in source DB, take snapshot, share and restore in another account. This would definitely introduce some downtime
            2. Use Aurora cloning: cut off the mutation in source DB, clone the cluster in target account and switch to the target DB. According to AWS, the cloning is much faster than taking and restoring a snapshot, so the downtime should be shorter.
            3. I am not sure if I can use DMS to do this as I did not find useful doc/tutorials about moving Aurora across accounts. Also, I am not sure whether DMS will sync any write requests to target DB during migration.
            4. If DMS can not live sync, then I probably should use Bucardo to live migrate.
            ...

            ANSWER

            Answered 2021-Mar-13 at 19:01

            Looking at the docs, AWS Aurora with PostgreSQL compatibility is allowed as source & target endpoints. So, answering your question, yes it's possible. Obviously, your source Aurora DB should be accessible from the target account. Check that the DB endpoint is public and the traffic is not restricted by ACLs rules or SGs rules. Also, if you want to enable ongoing replication, you need to grant rds_replication (or rds_superuser) role to the source database user. Link to the docs.

            Source https://stackoverflow.com/questions/66483418

            QUESTION

            Bootstrap bucardo replication after pg_restore
            Asked 2020-Aug-06 at 07:40

            Currently I am setting up Master/Master Replication with bucardo between 5 Nodes on different locations (should provide location transparency). The database holds ~500 Tables which should be replicated. I grouped them into smaller replication herds of 50 Tables at maximum based on their dependency on each other. All tables have primary keys defined and the sequencers on each node are set up to provide system wide unique identities (based on residue class)

            To get an initial database on each node, I made a --data-only custom format pg_dump into a File and restored this on each node via pg_restore. Bucardo sync is setup with the bucardo_latest strategy to resolve conflicts. Now when I start syncing bucardo is deleting all datasets in the origin database first and inserting it again from one of the restored nodes, because all restored datasets have a "later timestamp" (the point in time when I called pg_restore). This ultimately prohibits the inital startup as bucardo needs very much time and also fails, as there are lots of datasets to solve and timeouts often too short.

            I also have 'last_modified' timestamps on each table which are managed by UPDATE triggers, but as I understand it, pg_dump inserts data via COPY, and therefore these triggers don't get fired.

            • Which timestamp does bucardo use to find out who is bucardo_latest?
            • Do I have to call pg_dump with something like set SESSION_REPLICATION_ROLE = 'replica';?

            I just want bucardo to keep track of every new change, not executing pseudo changes because of the restore.

            EDIT: pg_restore has definitely fired several triggers at restore time...as said I keep track on user and last modification date in each table, and those values are set to the user and timestamp when the restore was done. I am aware, that I can set SESSION_REPLICATION_ROLE for a plain text format restore via psql. Is this also possible for pg_restore somehow?

            ...

            ANSWER

            Answered 2020-Aug-06 at 07:40

            The common approach is make the dump/restore process before configure the replication.

            So an option will be:

            1. drop the bucardo schema in each database
            2. do a bucardo remove for each object (most of them allow use all, like bucardo remove table all
            3. dump/restore your data
            4. Configure again the replication. Just make sure that when adding the sync, set the option onetimecopy=0. It's the default but I feel safer making it explicit.

            Which timestamp does bucardo use to find out who is bucardo_latest?

            bucardo handles its own timestamp value. Each table should have a trigger named like bucardo.delta_myschema_mytable that makes and insert in a table named like bucardo.delta_myschema_mytable. This table has a column txntime timestamp with time zone not null default now() and this is the timestamp used.

            Do I have to call pg_dump with something like set SESSION_REPLICATION_ROLE = 'replica';?

            AFAIK, if bucardo triggers are already set in the tables, the option --disable-triggers of pg_restore should do the trick.

            You can also check these articles about working with large databases and the use of session_replication_role

            Source https://stackoverflow.com/questions/63174155

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install bucardo

            You can download it from GitHub.

            Support

            For general questions and troubleshooting, please use the bucardo-general@bucardo.org mailing list. GitHub issues which are support-oriented will be closed and referred to the mailing list anyway, so help save time for everyone by posting there directly.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/bucardo/bucardo.git

          • CLI

            gh repo clone bucardo/bucardo

          • sshUrl

            git@github.com:bucardo/bucardo.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Consider Popular Change Data Capture Libraries

            debezium

            by debezium

            libusb

            by libusb

            tinyusb

            by hathach

            bottledwater-pg

            by confluentinc

            WHID

            by whid-injector

            Try Top Libraries by bucardo

            check_postgres

            by bucardoPerl

            dbdpg

            by bucardoPerl

            tail_n_mail

            by bucardoPerl

            pgsi

            by bucardoPerl

            boxinfo

            by bucardoPerl