サイズが 100 GB の postgresql データベースがあります。テーブルの 1 つには、約 5 億のエントリがあります。迅速なデータ入力のために、一部のデータは繰り返され、後で剪定するために残されました。列の 1 つを使用して、行が一意であることを識別できます。
mysqlの解決策を提案するこのstackoverflowの質問を見つけました:
ALTER IGNORE TABLE table_name ADD UNIQUE (location_id, datetime)
postgresqlに似たものはありますか?
グループ化と行番号で削除しようとしましたが、どちらの場合も数時間後にコンピューターのメモリが不足します。
これは、テーブル内の行数を推定しようとしたときに得られるものです。
SELECT reltuples FROM pg_class WHERE relname = 'orders';
reltuples
-------------
4.38543e+08
(1 row)