Czy SHOW CREATE TABLE
w postgresie jest odpowiednik MySQL ? czy to możliwe? Jeśli nie, jakie jest następne najlepsze rozwiązanie?
Potrzebuję instrukcji, ponieważ używam jej do tworzenia tabeli na zdalnym serwerze (przez WCF).
mysql
postgresql
sql
Vlebar
źródło
źródło
Odpowiedzi:
Możesz spróbować prześledzić w pliku dziennika PostgreSQL, co tak naprawdę robi „pg_dump -t table -s”. Następnie możesz użyć tej samej metody do napisania własnej funkcji SQL.
źródło
-E
opcji śledzenia tego, co dzieje się w tle po uruchomieniupsql
polecenia --E: will describe the underlaying queries of the \ commands (cool for learning!)
- HTH!pg_dump:
lub użyj narzędzi GUI PostgreSQL (pgAdmin, phpPgAdmin itp.)
źródło
--schema-only
ma dokładnie ten cel: Pokaż instrukcje SQL, aby utworzyć schemat / tabelę. Możesz w jakiś sposób wprowadzić to wyjście do swojego programu C #..tar
, pobierzrestore.sql
plik z archiwum. Zawiera wszystkie instrukcje tworzenia.W linii poleceń (
psql
) możesz uruchomić:\d <table name>
aby wyświetlić wszystkie kolumny, ich typy i indeksy.źródło
Opierając się na pierwszej części odpowiedzi @ CubicalSoft, możesz dodać następującą funkcję, która powinna działać w przypadku prostych tabel (zakłada domyślny „publiczny” schemat i pomija ograniczenia, indeksy i typy danych zdefiniowane przez użytkownika itp.). Odpowiedź @RJS jest w tej chwili jedynym sposobem, aby zrobić to właściwie; jest to coś, co powinno być wbudowane w psql!
źródło
Zdaję sobie sprawę, że jestem trochę spóźniony na tę imprezę, ale był to pierwszy wynik mojej wyszukiwarki Google, więc pomyślałem, że odpowiem na to, co wymyśliłem.
Za pomocą tego zapytania możesz dotrzeć dość daleko w kierunku rozwiązania, aby uzyskać kolumny:
A potem zapytanie dla najpopularniejszych indeksów:
Następnie należy zbudować ciąg zapytania w odpowiednim formacie.
źródło
Zgodnie z odpowiedzią w https://serverfault.com/a/875414/333439 , przy użyciu
\d <table>
meta-poleceniapsql
można wyświetlić strukturę tabeli w bazie danych. Jeśli chcesz wyświetlić zapytanie użyte w meta-poleceniu, możesz użyć poleceniapsql -E
. Jak opisano na stronie podręcznika,-E
przełącznik powtarza\d
zapytania meta-komend. Więc możesz uruchomićpsql -E
, możesz wyświetlić strukturę tabeli za pomocą\d <table>
meta-polecenia, i, zgodnie z-E
przełącznikiem, możesz wyświetlić wygenerowane zapytanie opisujące strukturę tabeliźródło
W pgAdmin 4 po prostu znajdź tabelę w drzewie po lewej stronie, np .:
Po wybraniu tabeli otwórz kartę SQL po prawej stronie. Wyświetla
CREATE TABLE
wybraną tabelę.źródło
Rozszerzenie Postgres ddlx ( https://github.com/lacanoid/pgddl ) robi dokładnie to i wiele więcej.
źródło