chardet VS docker-postgres-upgrade

Compare chardet vs docker-postgres-upgrade and see what are their differences.

chardet

Python character encoding detector (by chardet)

docker-postgres-upgrade

a PoC for using "pg_upgrade" inside Docker -- learn from it, adapt it for your needs; don't expect it to work as-is! (by tianon)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
chardet docker-postgres-upgrade
8 4
2,071 992
1.2% -
2.9 6.5
6 months ago 3 months ago
Python Shell
GNU Lesser General Public License v3.0 only MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

chardet

Posts with mentions or reviews of chardet. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-05.
  • After almost a year, Ben Eater is back
    2 projects | news.ycombinator.com | 5 Nov 2022
  • 3 Ways to Handle non UTF-8 Characters in Pandas
    1 project | dev.to | 20 Jan 2022
    chardet is a library for decoding characters, once installed you can use the following to determine encoding:
  • In MySQL, never use “utf8”. Use “utf8mb4”
    8 projects | news.ycombinator.com | 12 Jan 2022
    The craziest issue I had was I couldn't predict what char encoding the text in my database was in. Most users entered Windows-1252, some text blobs were UTF-16, others were European character sets, and some were UTF-8. Some were Japanese SHIFT_JIS. Don't ask me how any of this happened. I retrospect, I should have dumped all the tables from MySQL and used the excellent PyPy Chardet [1] library to see what I was dealing with, do the conversions and then re-import the data. But then someone could copy UTF-16 from a Windows document and paste it in, so you have to convert going in to the database.

    You have set Apache to UTF-8, PHP to UTF-8, MySQL to UTF-8, and the MySQL driver you are using to UTF-8. It's not clear how these setting interact. Are there silent conversions happening or do you always have to detect the encoding on data coming from the server? HTML pages have a character encoding specifier, but the BOM at the start of the file takes precedence (I think.) I got it to work by always detecting encoding for any text coming from the database and using iconv, but this turned out to be really slow and unreliable. It was truly the biggest mess by an order of magnitude than any other programming problem I faced in my career.

    Would not attempt again.

    [1] https://github.com/chardet/chardet

  • Encoding detection
    5 projects | /r/Common_Lisp | 24 Nov 2021
    I found there is a https://github.com/chardet/chardet python library, which can be ported to Common Lisp.
  • How to convert cmd output to UTF-8
    1 project | /r/learnpython | 30 Sep 2021
    Then use chardet to determine the encoding from the content
  • Everything to know about Requests v2.26.0
    5 projects | dev.to | 13 Jul 2021
    The library that Requests uses for content encoding detection has for the past 10 years been chardet which is licensed LGPL-2.1.
  • PyWhat: Identify Anything
    8 projects | news.ycombinator.com | 16 Jun 2021
  • UTF-8 is not enough? Requesting help with an open source project!
    1 project | /r/django | 26 Feb 2021

docker-postgres-upgrade

Posts with mentions or reviews of docker-postgres-upgrade. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-08-09.
  • When Did Postgres Become Cool?
    3 projects | news.ycombinator.com | 9 Aug 2023
    Ah, looks like psql seems to have switched to actually using minor and major versions properly during the last two years - I remember the dance from the 9.x versions and postgres-upgrade [1].

    In any case it's way more straightforward with mysql.

    [1] https://hub.docker.com/r/tianon/postgres-upgrade

  • A PostgreSQL Docker container that automatically upgrades PostgreSQL
    9 projects | news.ycombinator.com | 16 Jul 2023
    Related: https://github.com/tianon/docker-postgres-upgrade
  • I upgraded from Debian Bullseye to Bookworm, and it went very well
    1 project | /r/debian | 21 Apr 2023
    Also don't forget to pg_dump before the upgrade, as the binaries for previous Postgres version might not exist anymore after the upgrade... Otherwise, https://hub.docker.com/r/tianon/postgres-upgrade/ might be helpful (haven't used it though).
  • In MySQL, never use “utf8”. Use “utf8mb4”
    8 projects | news.ycombinator.com | 12 Jan 2022
    > When you say "complex ride" what does that mean?

    On managed postgresql services like RDS it's easy, yes, because Amazon does all of the nasty work for you and has already seen all the kinks you may run into.

    If you are on your own and using Docker, you essentially need a third-party image that has the old and new binaries (https://github.com/tianon/docker-postgres-upgrade).

    If you are on your own and are using distribution packages, it's more complicated (https://blog.samuel.domains/blog/tutorials/from-stretch-to-b...).

    If you are on your own and use postgres from source, well... have fun, there's a reason why I prefer using distribution-maintained packages when possible.

What are some alternatives?

When comparing chardet and docker-postgres-upgrade you can also consider the following projects:

Charset Normalizer - Truly universal encoding detector in pure Python

pgloader - Migrate to PostgreSQL in a single command!

fuzzywuzzy - Fuzzy String Matching in Python

MySQLTuner-perl - MySQLTuner is a script written in Perl that will assist you with your MySQL configuration and make recommendations for increased performance and stability.

ftfy - Fixes mojibake and other glitches in Unicode text, after the fact.

docker-pgautoupgrade - A PostgreSQL Docker container that automatically upgrades your database

Levenshtein - The Levenshtein Python C extension module contains functions for fast computation of Levenshtein distance and string similarity

postgresqltuner - Simple script to analyse your PostgreSQL database configuration, and give tuning advice

shortuuid - A generator library for concise, unambiguous and URL-safe UUIDs.

pgkit - Pgkit - Backup, PITR and recovery management made easy

pyfiglet - An implementation of figlet written in Python

PostgreSQL-Disaster-Recove