sql >> Base de Datos >  >> RDS >> PostgreSQL

número entero fuera de rango y espacio en disco restante demasiado pequeño para convertir id a bigint y otras soluciones

Los comentarios de Scott Marlowe y Vao Tsun funcionaron:

en el servidor (linux) abre una terminal

navegue hasta donde quiera que esté el nuevo espacio de nombres

crear un directorio:mkdir dirname

dar propiedad a postgres:chown postgres:postgres dirname

crear tabla:CREATE TABLESPACE new_tbl_space LOCATION '/path/dirname'

coloque la tabla en el espacio de tablas:alter table tbl set tablespace '/path/dirname'

hacer lo que ocupaba tanto espacio en disco:ALTER TABLE tbl ALTER COLUMN id TYPE BIGINT;

cambie el espacio de tablas de nuevo:alter table tbl set tablespace pg_default

elimine el espacio de tabla:lo hice en pgadmin4 en Tablespaces nodo/objeto

(Eso fue de memoria. Avísame si me perdí algo).

Editar:Esto tiene el efecto secundario de reescribir toda la tabla como una aspiradora completa que libera cualquier espacio muerto en el disco.