sql >> Databáze >  >> RDS >> PostgreSQL

celé číslo je mimo rozsah a zbývající místo na disku je příliš malé na převod id na bigint a další řešení

Komentáře Scotta Marlowa a Vao Tsuna fungovaly:

na (linuxovém) serveru otevřete terminál

přejděte na místo, kde chcete, aby byl nový jmenný prostor

vytvořte adresář:mkdir dirname

dát vlastnictví postgres:chown postgres:postgres dirname

vytvořit tabulku:CREATE TABLESPACE new_tbl_space LOCATION '/path/dirname'

vložte tabulku do tabulkového prostoru:alter table tbl set tablespace '/path/dirname'

udělat to, co zabíralo tolik místa na disku:ALTER TABLE tbl ALTER COLUMN id TYPE BIGINT;

změňte tabulkový prostor zpět:alter table tbl set tablespace pg_default

odstranit tabulkový prostor:Udělal jsem to v pgadmin4 v Tablespaces uzel/objekt

(To bylo z paměti. Pokud jsem něco přehlédl, dejte mi vědět.)

Edit:Vedlejším efektem je přepsání celé tabulky jako úplné vakuum, čímž se uvolní mrtvé místo na disku.




  1. Grails 3 – Mysql Connector závislých na Gradle

  2. Návrh fakturační tabulky

  3. MariaDB JSON_VALID() Vysvětleno

  4. Yii2 :Převod nezpracovaného dotazu na ActiveRecord