sql >> データベース >  >> RDS >> PostgreSQL

整数が範囲外で、残りのディスク容量が小さすぎてIDをbigintやその他のソリューションに変換できません

    ScottMarloweとVaoTsunのコメントは機能しました:

    (Linux)サーバーでターミナルを開く

    新しい名前空間を配置する場所に移動します

    ディレクトリを作成します:mkdir dirname

    postgresに所有権を与える:chown postgres:postgres dirname

    テーブルの作成:CREATE TABLESPACE new_tbl_space LOCATION '/path/dirname'

    テーブルをテーブルスペースに配置します:alter table tbl set tablespace '/path/dirname'

    非常に多くのディスクスペースを占有していたことを実行します:ALTER TABLE tbl ALTER COLUMN id TYPE BIGINT;

    表領域を元に戻します:alter table tbl set tablespace pg_default

    テーブルスペースを削除します。pgadmin4のTablespacesで行いました。 ノード/オブジェクト

    (それは記憶からでした。何かを逃したかどうか教えてください。)

    編集:これには、完全な真空のようにテーブル全体を書き換えて、デッドディスクスペースを解放するという副作用があります。




    1. PHP-MYSQL内で結果を関連付けてフェッチする際の問題

    2. MySQLでのInnoDBを使用した全文検索

    3. JOIN条件でCASEステートメントを使用できますか?

    4. json応答を作成する方法