copgy

Crates.iocopgy
lib.rscopgy
version0.2.6
sourcesrc
created_at2024-01-18 02:41:27.872993
updated_at2024-05-26 14:56:43.169457
descriptionCLI utility tool for copying data between and executing SQL on PostgreSQL databases
homepage
repositoryhttps://github.com/knnmran/copgy
max_upload_size
id1103746
size52,787
(knnmran)

documentation

README

copgy

copgy is a CLI utility tool for copying data between and executing SQL on PostgreSQL databases.

Warning

Employ the readonly user approach when engaging with production databases to prevent inadvertent data loss.

Features

  • copy data using a single query
  • copy data using a script json file
  • copy data & execute SQL using a script json file

Installation

cargo install copgy

Usage

Single

copgy --source-db-url postgresql://host:5432/postgres --dest-db-url postgresql://host:5432/postgres single --source_sql select * from employees --dest_table employees_tmp

Script

copgy --source-db-url postgresql://host:5432/postgres --dest-db-url postgresql://host:5432/postgres script --file-path ~/Desktop/copgy.json

sample copgy.json

[
  {
    // execute on source db
    "execute": {
      "source_sql": "update employees set first_name = 'copgy' where emp_no = 0"
    }
  },
  {
    // execute on destination db
    "execute": {
      "dest_sql": "truncate employees_tmp"
    }
  },
  {
    // copy from source db to destination db
    "copy": {
      "source_sql": "select * from employees",
      "dest_table": "employees_tmp"
    }
  }
]

Info

Sample PostgreSQL connection string

postgresql://username:password@host:port/dbname

License

MIT

Commit count: 41

cargo fmt