[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10431":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":24,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":38,"readmeContent":39,"aiSummary":40,"trendingCount":16,"starSnapshotCount":16,"syncStatus":41,"lastSyncTime":42,"discoverSource":43},10431,"pgloader","dimitri\u002Fpgloader","dimitri","Migrate to PostgreSQL in a single command!","http:\u002F\u002Fpgloader.io",null,"Common Lisp",6436,602,79,422,0,5,26,1,39.34,"Other",false,"master",true,[26,27,28,29,30,31,32,33,34,5,35,36,37],"clozure-cl","common-lisp","csv","database","dbase","ixf","migration","mssql","mysql","postgresql","sbcl","sqlite","2026-06-12 02:02:21","# PGLoader\n\n[![Build Status](https:\u002F\u002Ftravis-ci.org\u002Fdimitri\u002Fpgloader.svg?branch=master)](https:\u002F\u002Ftravis-ci.org\u002Fdimitri\u002Fpgloader)\n[![Join the chat at https:\u002F\u002Fgitter.im\u002Fdimitri\u002Fpgloader](https:\u002F\u002Fbadges.gitter.im\u002FJoin%20Chat.svg)](https:\u002F\u002Fgitter.im\u002Fdimitri\u002Fpgloader?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n[![Read The Docs Status](https:\u002F\u002Freadthedocs.org\u002Fprojects\u002Fpgloader\u002Fbadge\u002F?version=latest&style=plastic)](http:\u002F\u002Fpgloader.readthedocs.io\u002Fen\u002Flatest\u002F)\n\npgloader is a data loading tool for PostgreSQL, using the `COPY` command.\n\nIts main advantage over just using `COPY` or `\\copy`, and over using a\n*Foreign Data Wrapper*, is its transaction behaviour, where *pgloader*\nwill keep a separate file of rejected data, but continue trying to\n`copy` good data in your database.\n\nThe default PostgreSQL behaviour is transactional, which means that\n*any* erroneous line in the input data (file or remote database) will\nstop the entire bulk load for the table.\n\npgloader also implements data reformatting, a typical example of that\nbeing the transformation of MySQL datestamps `0000-00-00` and\n`0000-00-00 00:00:00` to PostgreSQL `NULL` value (because our calendar\nnever had a *year zero*).\n\n## Documentation\n\nFull documentation is available online, including manual pages of all the\npgloader sub-commands. Check out\n[https:\u002F\u002Fpgloader.readthedocs.io\u002F](https:\u002F\u002Fpgloader.readthedocs.io\u002Fen\u002Flatest\u002F).\n\n```\n$ pgloader --help\npgloader [ option ... ] SOURCE TARGET\n  --help -h                       boolean  Show usage and exit.\n  --version -V                    boolean  Displays pgloader version and exit.\n  --quiet -q                      boolean  Be quiet\n  --verbose -v                    boolean  Be verbose\n  --debug -d                      boolean  Display debug level information.\n  --client-min-messages           string   Filter logs seen at the console (default: \"warning\")\n  --log-min-messages              string   Filter logs seen in the logfile (default: \"notice\")\n  --summary -S                    string   Filename where to copy the summary\n  --root-dir -D                   string   Output root directory. (default: #P\"\u002Ftmp\u002Fpgloader\u002F\")\n  --upgrade-config -U             boolean  Output the command(s) corresponding to .conf file for v2.x\n  --list-encodings -E             boolean  List pgloader known encodings and exit.\n  --logfile -L                    string   Filename where to send the logs.\n  --load-lisp-file -l             string   Read user code from files\n  --dry-run                       boolean  Only check database connections, don't load anything.\n  --on-error-stop                 boolean  Refrain from handling errors properly.\n  --no-ssl-cert-verification      boolean  Instruct OpenSSL to bypass verifying certificates.\n  --context -C                    string   Command Context Variables\n  --with                          string   Load options\n  --set                           string   PostgreSQL options\n  --field                         string   Source file fields specification\n  --cast                          string   Specific cast rules\n  --type                          string   Force input source type\n  --encoding                      string   Source expected encoding\n  --before                        string   SQL script to run before loading the data\n  --after                         string   SQL script to run after loading the data\n  --self-upgrade                  string   Path to pgloader newer sources\n  --regress                       boolean  Drive regression testing\n```\n\n## Usage\n\nYou can either give a command file to pgloader or run it all from the\ncommand line, see the\n[pgloader quick start](https:\u002F\u002Fpgloader.readthedocs.io\u002Fen\u002Flatest\u002Ftutorial\u002Ftutorial.html#pgloader-quick-start) on\n\u003Chttps:\u002F\u002Fpgloader.readthedocs.io> for more details.\n\n    $ .\u002Fbuild\u002Fbin\u002Fpgloader --help\n    $ .\u002Fbuild\u002Fbin\u002Fpgloader \u003Cfile.load>\n\nFor example, for a full migration from SQLite:\n\n    $ createdb newdb\n    $ pgloader .\u002Ftest\u002Fsqlite\u002Fsqlite.db postgresql:\u002F\u002F\u002Fnewdb\n\nOr for a full migration from MySQL, including schema definition (tables,\nindexes, foreign keys, comments) and parallel loading of the corrected data:\n\n    $ createdb pagila\n    $ pgloader mysql:\u002F\u002Fuser@localhost\u002Fsakila postgresql:\u002F\u002F\u002Fpagila\n\n## LICENCE\n\npgloader is available under [The PostgreSQL\nLicence](http:\u002F\u002Fwww.postgresql.org\u002Fabout\u002Flicence\u002F).\n\n## INSTALL\n\nPlease see full documentation at\n[https:\u002F\u002Fpgloader.readthedocs.io\u002F](https:\u002F\u002Fpgloader.readthedocs.io\u002Fen\u002Flatest\u002Finstall.html).\n\nIf you're using debian, it's already available:\n\n    $ apt-get install pgloader\n\nIf you're using docker, you can use the latest version built by the CI at\neach commit to the master branch:\n\n    $ docker pull ghcr.io\u002Fdimitri\u002Fpgloader:latest\n    $ docker run --rm -it ghcr.io\u002Fdimitri\u002Fpgloader:latest pgloader --version\n","pgloader 是一个用于将数据迁移到 PostgreSQL 的工具，支持通过单个命令完成迁移。它使用 Common Lisp 编写，核心功能包括利用 `COPY` 命令进行高效的数据加载，并且具有事务处理能力，能够记录被拒绝的数据但继续尝试加载有效数据。此外，pgloader 还支持数据格式转换，例如将 MySQL 中的无效日期转换为 PostgreSQL 中的 `NULL` 值。该工具适用于需要从多种数据库（如 MySQL、SQLite、MS SQL Server 等）或 CSV 文件向 PostgreSQL 迁移数据的场景，特别适合在保证数据一致性的同时进行大规模数据迁移的情况。",2,"2026-06-11 03:28:22","top_topic"]