PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

số nguyên ngoài phạm vi và dung lượng đĩa còn lại quá nhỏ để chuyển đổi id thành bigint và các giải pháp khác

Nhận xét của Scott Marlowe và Vao Tsun có tác dụng:

trên máy chủ (linux) mở một thiết bị đầu cuối

điều hướng đến nơi muốn có không gian tên mới

tạo một thư mục:mkdir dirname

cấp quyền sở hữu cho postgres:chown postgres:postgres dirname

tạo bảng:CREATE TABLESPACE new_tbl_space LOCATION '/path/dirname'

đặt bảng vào không gian bảng:alter table tbl set tablespace '/path/dirname'

làm những gì đang chiếm quá nhiều dung lượng đĩa:ALTER TABLE tbl ALTER COLUMN id TYPE BIGINT;

thay đổi lại vùng bảng:alter table tbl set tablespace pg_default

xóa không gian bảng:Tôi đã làm điều đó trong pgadmin4 trong Tablespaces nút / đối tượng

(Đó là từ bộ nhớ. Hãy cho tôi biết nếu tôi bỏ lỡ điều gì đó.)

Chỉnh sửa:Điều này có tác dụng phụ là viết lại toàn bộ bảng giống như một máy hút toàn bộ giải phóng mọi dung lượng ổ đĩa chết.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn hàng loạt SQLAlchemy Core chậm

  2. Thực hiện thay đổi cấu trúc liên kết sao chép cho PostgreSQL

  3. Cách lưu trữ mảng hoặc nhiều giá trị trong một cột

  4. Truy vấn cơ sở dữ liệu không đồng bộ với PostgreSQL trong Node không hoạt động

  5. Sự khác biệt giữa loại dữ liệu DECIMAL và NUMERIC trong PSQL