W PSQL, czy istnieje dobry sposób na znalezienie wszystkich tabel, które dziedziczą z innej tabeli? Idealnie byłoby uzyskać dane z zapytania SQL, ale w tym momencie byłbym zadowolony z jakiejkolwiek niezawodnej metody.Jak znaleźć tabele potomne, które dziedziczą z innej tabeli w PSQL
17
A
Odpowiedz
30
Co masz na myśli "z zapytania sql"? Czy to oznacza, że SELECT
ing z pg_inherits
nie jest wystarczająco dobry dla ciebie?
SELECT pg_inherits.*, c.relname AS child, p.relname AS parent
FROM
pg_inherits JOIN pg_class AS c ON (inhrelid=c.oid)
JOIN pg_class as p ON (inhparent=p.oid);
2
Jeśli trzeba także nazwy schematu:
SELECT cn.nspname AS schema_child, c.relname AS child, pn.nspname AS schema_parent, p.relname AS parent
FROM pg_inherits
JOIN pg_class AS c ON (inhrelid=c.oid)
JOIN pg_class as p ON (inhparent=p.oid)
JOIN pg_namespace pn ON pn.oid = p.relnamespace
JOIN pg_namespace cn ON cn.oid = c.relnamespace
WHERE p.relname = 'your table name' and pn.nspname = 'your schema name'
1
Jeśli chcesz znaleźć wszystko dziecka z partycji nadrzędnej można po prostu wykonać to lubią:
SELECT relname
FROM pg_class,pg_inherits
WHERE pg_class.oid=pg_inherits.inhrelid
AND inhparent
IN (SELECT oid FROM pg_class WHERE relname='your_master_partition')
ORDER BY relname;
Powiązane problemy
- 1. Jak uzyskać wszystkie tabele, które mają FK do innej tabeli?
- 2. Jak znaleźć wiersze w jednej tabeli, które nie mają odpowiadającego wiersza w innej tabeli
- 3. Jak zorganizować klasy C#, które dziedziczą po sobie, ale także mają właściwości, które dziedziczą po sobie?
- 4. Wyłapywanie wyjątków, które nie dziedziczą z wyjątku
- 5. Usuwanie wszystkich rekordów z tabeli, które nie zostały pobrane z innej tabeli
- 6. Wybierz wartości, które nie w innej tabeli z Django
- 7. Dlaczego psql nie może znaleźć nazwy relacji dla istniejącej tabeli?
- 8. Jak znaleźć wszystkie moduły potomne w Pythonie?
- 9. Jak znaleźć nieużywane tabele w SQL Server
- 10. Skrót zaćmienia, aby znaleźć wszystkie klasy potomne, które zastępują metodę
- 11. Wybierz wszystkie rekordy z jednej tabeli, które nie istnieją w innej tabeli w Laravel 5.1
- 12. Aktualizacja tabeli z wartościami z innej tabeli
- 13. Zaawansowane zapytanie MySql: Aktualizacja tabeli z informacjami z innej tabeli
- 14. MySQL - skręcić w tabeli do innej tabeli
- 15. Kolejność SQL według kolumny z innej tabeli
- 16. Wybierz wartość z tabeli tylko jeśli istnieją w innej
- 17. MySQL - Średnie najnowsze kolumny w innej tabeli
- 18. Jak zaktualizować dane w jednej tabeli z odpowiednich danych w innej tabeli w SQL Server 2005
- 19. sql: jak skopiować z jednej tabeli do innej tabeli
- 20. wyszukaj nazwy tabel w PSQL
- 21. Zaktualizuj tabelę z SUM z innej tabeli
- 22. Jak zaktualizować kolumny pochodzące z Top 1 innej tabeli
- 23. Jak uzyskać tabelę z odniesieniami do innej tabeli w yii2?
- 24. Django - uzyskać wszystkie obiekty w jednej tabeli, które nie mają ForeignKey w innej tabeli
- 25. Jak korzystać z pg: psql w heroku?
- 26. SQLAlchemy: Wstawienie wyników kwerendy do innej tabeli
- 27. Jak określić, które kolumny są współużytkowane przez dwie tabele?
- 28. MySQL wybierz wiersze, które nie mają pasującą kolumnę w innej tabeli
- 29. Wybór klucze podstawowe, które nie mają kluczy obcych w innej tabeli
- 30. Jak instancję klasy w Objective-C, które nie dziedziczą z NSObject
Kiedy pisałem " kwerendy sql ", miałem na myśli coś, co mogłem przekazać do PSQL z linii poleceń, w przeciwieństwie do czegoś takiego jak \ d, które musi być uruchamiane interaktywnie. Dobrym wyborem jest więc wybór z pg_inherits. Gdzie mogę znaleźć tabelę zawierającą nazwy tabel i ich identyfikatory? – Watusimoto
Das jest perfekt! Vielen dank! – Watusimoto
Watusimoto - \ d można również przekazać do psql w linii poleceń :) –