powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сгенерить описание базы данных
8 сообщений из 8, страница 1 из 1
Сгенерить описание базы данных
    #38928276
springy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть база. В таблицах присутствует описание COMMENT ON TABLE, COMMENT ON COLUMN.

Есть какая-либо возможность сгенерить всё это описание по всем схемам и таблицам в HTML формате?
...
Рейтинг: 0 / 0
Сгенерить описание базы данных
    #38928478
fte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это называется реинжениринг?
из бесплатных....
pgmodeler
но он сыроват...
Остальное за бабло
...
Рейтинг: 0 / 0
Сгенерить описание базы данных
    #38928876
springy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, нужно просто описание. Что-то типа страничек с описанием название таблицы, поля в таблицы с комментариями прописанными в базе.
...
Рейтинг: 0 / 0
Сгенерить описание базы данных
    #38928982
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
springy,

Для генерациии одностраничного html без изысков - psql.
...
Рейтинг: 0 / 0
Сгенерить описание базы данных
    #38928989
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
springy,
и непременно в html сразу ?

если вывести грид в html не боитесть (могу конечно кастнуть в html сразу sql-m, но зачем)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
SELECT 
	CASE WHEN attnum =0 THEN quote_ident( pg_namespace.nspname) END AS "schema"
	,CASE WHEN attnum =0 THEN pg_class.relname END AS relname
	--,pg_inherits.inhparent
	,CASE WHEN attnum <>0 THEN attnum END AS attnum
	,pg_attribute.attname
	,CASE WHEN attnum= 0 THEN pg_catalog.obj_description(pg_class.oid) ELSE  pg_description.description END
	--,pg_type.typname
	,TRIM (REPLACE(
	REPLACE(
	format_type(pg_attribute.atttypid, pg_attribute.atttypmod)
	,'character varying','varchar')
	,'without time zone','')
	) AS format_type
	--,pg_attribute.*
	--,pg_class.*

 FROM  pg_class 
 INNER JOIN pg_namespace 
	ON pg_namespace.oid = pg_class.relnamespace
 INNER JOIN
	--/*
	(SELECT
		
		attrelid, attnum, attname,atttypid,atttypmod FROM pg_attribute pga
	UNION ALL
	SELECT pg_class.oid AS attrelid, 0 AS attnum,NULL AS attname, NULL AS atttypid ,NULL AS atttypmod
	FROM pg_class
	 )--*/	
	pg_attribute 
	ON pg_attribute.attrelid = pg_class.oid 
 LEFT JOIN pg_description
	ON  pg_description.objoid = pg_class.oid 
	AND pg_description.objsubid = pg_attribute.attnum
LEFT JOIN pg_type
	ON  pg_attribute.atttypid=pg_type.oid
LEFT JOIN pg_inherits 
	ON pg_inherits.inhrelid = pg_class.oid 
WHERE	
	pg_class.relkind='r' 
	AND pg_attribute.attnum>=0
	AND pg_inherits.inhparent IS NULL
	
	AND quote_ident( pg_namespace.nspname) NOT IN ('pg_catalog','information_schema'
				,'londiste','pgq','pgq_ext','pgq_node','trash')
ORDER BY 
	quote_ident( pg_namespace.nspname)
	,pg_class.relname
	,pg_attribute.attnum
  

...
Рейтинг: 0 / 0
Сгенерить описание базы данных
    #38929215
springy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто нужна справочная система по базе, для удобства разработчиков. В одну страницу не очень удобно, объектов очень много.
Думал есть что-то готовое.
...
Рейтинг: 0 / 0
Сгенерить описание базы данных
    #38929243
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
springyПросто нужна справочная система по базе, для удобства разработчиков. В одну страницу не очень удобно, объектов очень много.
Думал есть что-то готовое.
осторожно интересуюсь -- а что, на жабе написать html-пагинатор для грида -- уже проблема ?

или вы И на жабе -- груши околачиваете ?

а так -- залезьте в любой реверс--инжинирящий вструмент. оно и отчеты умеет. (или только их нормально и умеет)

как вариант -- суньте в приведенный скрипт пару бинд-переменных -- по схемам, или для ilike по имени -- будет вам интерактив. когда вызов из жабы закодите.
интерактив -- он всегда лучше -- даёт возможности сделать обозримые срезы.

кста, недавно какую-то обобщенную шняжку показывали -- грабит всё, что хошь -- от ара--кала, до мускуля, не пропуская пж и мсскл. но, за ненадобностью, не запомнил.
...
Рейтинг: 0 / 0
Сгенерить описание базы данных
    #38929560
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
springy,

Это просто и быстро скриптуется через связку shell + psql.
Когда захочется красивостей — перейти на perl / python, ключиков добавить, выложить на github...

Можно что-то тут глянуть: https://wiki.postgresql.org/wiki/Community_Guide_to_PostgreSQL_GUI_Tools
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Сгенерить описание базы данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]