PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Usuwanie komentarza COMMENT ON ze wszystkich obiektów w PostgreSQL

Jakiś czas temu spotkałem się z bardzo podobnym problemem i wymyśliłem bardzo proste rozwiązanie:usuń z tabeli katalogu systemowego pg_description bezpośrednio . Komentarze są po prostu „dołączane” do obiektów i nie przeszkadzają w inny sposób.

DELETE FROM pg_description WHERE description = 'something special';

Zastrzeżenie:
Bezpośrednia manipulacja tabelami katalogu jest niebezpieczna i środek ostateczny. Musisz wiedzieć, co robisz i robisz to na własne ryzyko! Jeśli schrzanisz, możesz schrzanić swoją bazę danych (klaster).

Zapytałem o pomysł na liście pgsql-admin i dostałem zachęcająca odpowiedź od Toma Lane'a :

> 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

Powinieneś upewnić się, że nie ma żadnych komentarzy, które wolałbyś zachować. Najpierw sprawdź, co zamierzasz usunąć. Pamiętaj, że wiele wbudowanych obiektów Postgres również ma komentarze.

Na przykład, aby tylko usunąć wszystkie komentarze w kolumnach tabeli , możesz użyć:

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

Podręcznik informuje o kolumnie 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. sprzężenie wewnętrzne i sprzężenie zewnętrzne; czy kolejność tabel jest ważna od?

  2. Czy można użyć pandas/sqlalchemy do wstawiania tablic do bazy danych sql? (postgres)

  3. Jak obsłużyć opcjonalną wartość zwracaną przez zapytanie za pomocą skrzynki postgres?

  4. Sprawdź, czy tabela sqlalchemy jest pusta

  5. Django - wyszukiwanie pełnotekstowe z PostgreSQL i Elasticsearch