Генерируйте DDL программно на Postgresql

Первый раздел Шаблонов разработки (GoF, 1994) имеет вариант использования для реализации отмены/восстановления как шаблон разработки.

29
задан ruipacheco 10 December 2009 в 23:10
поделиться

4 ответа

Ответ - это проверка исходного кода для PG_dump и следуйте переключателям, которые он использует для генерации DDL. Где-то внутри кода есть ряд запросов, используемых для извлечения метаданных, используемых для генерации DDL.

3
ответ дан 28 November 2019 в 01:16
поделиться

You can use the pg_dump command to dump the contents of the database (both schema and data). The --schema-only switch will dump only the DDL for your table(s).

19
ответ дан 28 November 2019 в 01:16
поделиться

Почему обстрел до psql не считается "программно"? Это выкинет всю схему очень красиво.

Так или иначе, вы можете получить типы данных (и многое другое) из information_schema (8.4 docs ссылаются здесь, но это не новая возможность):

=# select column_name, data_type from information_schema.columns
-# where table_name = 'config';
    column_name     | data_type 
--------------------+-----------
 id                 | integer
 default_printer_id | integer
 master_host_enable | boolean
(3 rows)
3
ответ дан 28 November 2019 в 01:16
поделиться

Вот хорошая статья о том, как получить метаинформацию из информационной схемы, http://www.alberton.info/postgresql_meta_info.html .

2
ответ дан 28 November 2019 в 01:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: