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

Xóa BÌNH LUẬN BẬT khỏi tất cả các đối tượng trong PostgreSQL

Tôi đã gặp phải một vấn đề tương tự cách đây một thời gian và đã đưa ra một giải pháp rất đơn giản:xóa khỏi bảng danh mục hệ thống pg_description trực tiếp . Các nhận xét chỉ được "đính kèm" vào các đối tượng và không ảnh hưởng gì khác.

DELETE FROM pg_description WHERE description = 'something special';

Tuyên bố từ chối trách nhiệm:
Thao tác trực tiếp các bảng danh mục là nguy hiểm và một biện pháp cuối cùng. Bạn phải biết mình đang làm gì và bạn đang làm điều đó với rủi ro của riêng bạn! Nếu bạn gặp trục trặc, bạn có thể làm hỏng (cụm) cơ sở dữ liệu của mình.

Tôi đã hỏi về ý tưởng trên danh sách pgsql-admin và nhận được câu trả lời khuyến khích từ Tom Lane :

> DELETE FROM pg_description WHERE description = 'My very special
> totally useless comment.';

> AFAICS, there are no side-effects. Are there any?

It's safe enough, as long as you don't delete the wrong comments.
There's no hidden infrastructure for a comment.

            regards, tom lane

Bạn nên đảm bảo rằng không có bất kỳ nhận xét nào mà bạn muốn giữ lại. Lưu ý rằng nhiều đối tượng Postgres cài sẵn cũng có nhận xét.

Ví dụ:chỉ xóa tất cả nhận xét trên các cột của bảng , bạn có thể sử dụng:

SELECT *
-- DELETE
FROM   pg_description
WHERE  objsubid > 0;

Hướng dẫn sử dụng thông báo về cột objsubid :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa postgres và postgresql_psycopg2 làm công cụ cơ sở dữ liệu cho django là gì?

  2. Hội thảo trên web:Các tính năng mới trong PostgreSQL 11 [Theo dõi]

  3. Lỗi ngôn ngữ postgres

  4. Làm cách nào để xóa mọi bảng trong một lược đồ cụ thể trong postgres?

  5. Có thể lấy lịch sử các truy vấn được thực hiện trong postgres không