Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Netdata | 65,271 | 10 hours ago | 370 | gpl-3.0 | C | |||||
Monitor your servers, containers, and applications, in high-resolution and in real-time! | ||||||||||
Gogs | 42,966 | 4 | 6 days ago | 74 | February 25, 2023 | 877 | mit | Go | ||
Gogs is a painless self-hosted Git service | ||||||||||
Plane | 17,031 | a day ago | 220 | agpl-3.0 | TypeScript | |||||
🔥 🔥 🔥 Open Source JIRA, Linear and Height Alternative. Plane helps you track your issues, epics, and product roadmaps in the simplest way possible. | ||||||||||
Full Stack Fastapi Postgresql | 12,908 | 21 days ago | 230 | mit | Python | |||||
Full stack, modern web application generator. Using FastAPI, PostgreSQL as database, Docker, automatic HTTPS and more. | ||||||||||
Coolify | 8,976 | 10 hours ago | 29 | apache-2.0 | PHP | |||||
An open-source & self-hostable Heroku / Netlify alternative. Cloud version available here -> https://app.coolify.io | ||||||||||
Docker Gitlab | 7,648 | a day ago | 536 | mit | Shell | |||||
Dockerized GitLab | ||||||||||
Pgloader | 4,693 | 19 days ago | 1 | February 27, 2018 | 336 | other | Common Lisp | |||
Migrate to PostgreSQL in a single command! | ||||||||||
Stolon | 4,295 | a month ago | 17 | September 03, 2021 | 145 | apache-2.0 | Go | |||
PostgreSQL cloud native High Availability and more. | ||||||||||
Devilbox | 4,194 | 2 months ago | 59 | mit | PHP | |||||
A modern Docker LAMP stack and MEAN stack for local development | ||||||||||
Dbmate | 3,837 | 5 | 2 days ago | 37 | June 23, 2023 | 24 | mit | Go | ||
:rocket: A lightweight, framework-agnostic database migration tool. |
pgloader is a data loading tool for PostgreSQL, using the COPY
command.
Its main advantage over just using COPY
or \copy
, and over using a
Foreign Data Wrapper, is its transaction behaviour, where pgloader
will keep a separate file of rejected data, but continue trying to
copy
good data in your database.
The default PostgreSQL behaviour is transactional, which means that any erroneous line in the input data (file or remote database) will stop the entire bulk load for the table.
pgloader also implements data reformatting, a typical example of that
being the transformation of MySQL datestamps 0000-00-00
and
0000-00-00 00:00:00
to PostgreSQL NULL
value (because our calendar
never had a year zero).
Full documentation is available online, including manual pages of all the pgloader sub-commands. Check out https://pgloader.readthedocs.io/.
$ pgloader --help
pgloader [ option ... ] SOURCE TARGET
--help -h boolean Show usage and exit.
--version -V boolean Displays pgloader version and exit.
--quiet -q boolean Be quiet
--verbose -v boolean Be verbose
--debug -d boolean Display debug level information.
--client-min-messages string Filter logs seen at the console (default: "warning")
--log-min-messages string Filter logs seen in the logfile (default: "notice")
--summary -S string Filename where to copy the summary
--root-dir -D string Output root directory. (default: #P"/tmp/pgloader/")
--upgrade-config -U boolean Output the command(s) corresponding to .conf file for v2.x
--list-encodings -E boolean List pgloader known encodings and exit.
--logfile -L string Filename where to send the logs.
--load-lisp-file -l string Read user code from files
--dry-run boolean Only check database connections, don't load anything.
--on-error-stop boolean Refrain from handling errors properly.
--no-ssl-cert-verification boolean Instruct OpenSSL to bypass verifying certificates.
--context -C string Command Context Variables
--with string Load options
--set string PostgreSQL options
--field string Source file fields specification
--cast string Specific cast rules
--type string Force input source type
--encoding string Source expected encoding
--before string SQL script to run before loading the data
--after string SQL script to run after loading the data
--self-upgrade string Path to pgloader newer sources
--regress boolean Drive regression testing
You can either give a command file to pgloader or run it all from the command line, see the pgloader quick start on https://pgloader.readthedocs.io for more details.
$ ./build/bin/pgloader --help
$ ./build/bin/pgloader <file.load>
For example, for a full migration from SQLite:
$ createdb newdb
$ pgloader ./test/sqlite/sqlite.db postgresql:///newdb
Or for a full migration from MySQL, including schema definition (tables, indexes, foreign keys, comments) and parallel loading of the corrected data:
$ createdb pagila
$ pgloader mysql://user@localhost/sakila postgresql:///pagila
pgloader is available under The PostgreSQL Licence.
Please see full documentation at https://pgloader.readthedocs.io/.
If you're using debian, it's already available:
$ apt-get install pgloader
If you're using docker, you can use the latest version built by the CI at each commit to the master branch:
$ docker pull ghcr.io/dimitri/pgloader:latest
$ docker run --rm -it ghcr.io/dimitri/pgloader:latest pgloader --version