Есть ли эквивалент в MySQL SHOW CREATE TABLE
в Postgres? Это возможно? Если нет, каково следующее лучшее решение?
Мне нужно утверждение, потому что я использую его для создания таблицы на удаленном сервере (через WCF).
mysql
postgresql
sql
vlebar
источник
источник
Ответы:
Вы можете попытаться отследить в файле журнала PostgreSQL, что действительно делает pg_dump -t table -s. Затем вы можете использовать тот же метод для написания своей собственной функции sql.
источник
-E
опцию , чтобы проследить , что происходит в фоновом режиме , когда вы запускаетеpsql
команду --E: will describe the underlaying queries of the \ commands (cool for learning!)
- HTH!pg_dump:
или используйте PostgreSQL GUI Tools (pgAdmin, phpPgAdmin и т. д.)
источник
--schema-only
имеет именно эту цель: Показать операторы SQL для создания схемы / таблицы. Вы можете как-то передать этот вывод в вашу C # программу..tar
, взятьrestore.sql
файл из архива. В нем есть все операторы создания.В командной строке (
psql
) вы можете запустить:\d <table name>
перечислить все столбцы, их типы и индексы.источник
Основываясь на первой части ответа @ CubicalSoft, вы можете добавить следующую функцию, которая должна работать для простых таблиц (предполагается, что используется общедоступная схема по умолчанию и в которой отсутствуют ограничения, индексы, пользовательские типы данных и т. Д. И т. Д.). Ответ @RJS - единственный способ сделать это правильно в данный момент; это то, что должно быть встроено в PSQL!
источник
Я понимаю, что немного опоздал на эту вечеринку, но это был первый результат в моем Поиске в Google, поэтому я решил, что я отвечу с тем, что я придумал.
Вы можете продвинуться довольно далеко к решению с помощью этого запроса, чтобы получить столбцы:
И тогда этот запрос для наиболее распространенных индексов:
Затем необходимо построить строку (и) запроса в правильном формате.
источник
Как ответили в https://serverfault.com/a/875414/333439 , с помощью
\d <table>
мета-командыpsql
можно отображать структуру таблицы в базе данных. Если вы хотите просмотреть запрос, используемый в мета-команде, вы можете использовать командуpsql -E
. Как описано в man-странице,-E
коммутатор повторяет\d
запросы метакоманд. Итак, вы можете запуститьpsql -E
, вы можете просмотреть структуру таблицы с помощью\d <table>
мета-команды, и, в соответствии с-E
переключателем, вы можете просмотреть запрос, сгенерированный для описания структуры таблицы.источник
В pgAdmin 4 просто найдите таблицу в дереве слева, например:
Когда таблица выбрана, откройте вкладку SQL справа. Отображает
CREATE TABLE
для выбранной таблицы.источник
Расширение Postgres ddlx ( https://github.com/lacanoid/pgddl ) делает именно это и многое другое.
источник