-
生成数据字典的sql语句
SELECT
A.attnum AS "序号",
A.attname AS "字段名",
A.attnotnull
WHEN 't' THEN '是'
WHEN 'f' THEN '否'
END AS 是否必填,
concat_ws ( '', T.typname, SUBSTRING ( format_type ( A.atttypid, A.atttypmod ) FROM '\(.*\)' ) ) AS "数据类型",
d.description AS "注释"
pg_class C,
pg_attribute A,
pg_type T,
pg_description d
WHERE
C.relname = '需要生成数据字典的表名'
AND A.attnum > 0
AND A.attrelid = C.oid
AND A.atttypid = T.oid
AND d.objoid = A.attrelid
AND d.objsubid = A.attnum
提示:可以将其中的 C.relname = ‘需要生成数据字典的表名’ 使用in关键字,直接导出多个表
- 然后从
navicat中将结果导出即可
PG查询元数据,生成表数据字典:效果:代码:SELECT A .attname 字段, concat_ws ( ‘‘, T .typname, SUBSTRING ( format_type (A .atttypid, A .atttypmod) FROM ‘\(.*\)‘ ) ) AS 类型, case whe
select
(select relname ||’–’||(select description from pg_description where objoid = oid and objsubid = 0) from pg_class where oid=a.attrelid) as 表名,
a.attname as 列名,
format_type(a.atttypid,a.atttypmod) as 类型,
(case when atttypmod-4>0 then atttypmod-4 e
Celery 3 或更高版本和 django-celery
GDAL 1.5 或更高版本
BeautifulSoup(仅当使用 dd_load 从 LINZ 数据字典生成图层时)
请求 v0.14.0 或更高版本
(你可以通过pip安装其中的大部分:使用requirements.txt文件)
安装 Pydermonkey
Pydermonkey需要构建spidermonkey-1.8.1pre,URL过期。 安装:
运行pip install --no-install pydermonkey
进入 build/pyder
数据字典
数据字典(Data dictionary)是一种用户可以访问的记录数据库和应用程序元数据的目录。postgresql中常用的数据字典视图有:pg_class,pg_stat_all_indexes,pg_index,information_schema,pg_attribute,pg_type,pg_constraint
熟练运作这些数据字典视图,可以很快的得到数据库的数据表、索引、序列...
select
(select relname||'--'||(select description from pg_description where objoid=oid and objsubid=0) as comment from pg_class where oid=a.attrelid) as table_name,
a.attname as column_name,
字典常用于下拉列表选择等,直接在程序中写死不太灵活,因此经常将字典数据放到数据库中,通过后台可以方便的添加/修改/删除字典,前端选择模块中的数据也会相应的发生变化.
字典存储在数据库中也会带来一些问题:
1.有些字典数据非常少(比如是和否),不值得为每一类字典都建一张表,可以将所有字典数据合并在一张表里;
2.应用数据中一般保存的是字典id,使用时根据id到字典表中查询相应的的名称或其它相关...
select ns.nspname,
cl.relname as table_name,
cast(obj_description(cl.relfilenode,'pg_class') as varchar) as "表注释",
a.attname as column_name,
format_type(a.atttypid,a.atttypmod) as data_type,
- `table_name` 是要导入
数据的表的名称。
- `file_path` 是
数据文件的路径。
- `WITH (FORMAT CSV, HEADER)` 告诉
PostgreSQL 导入的
数据是 CSV 格式且带有列头。
2. 使用 `psql` 命令行客户端:
psql -U username -d database_name -c "\copy table_name FROM 'file_path' WITH (FORMAT CSV, HEADER)"
- `username` 是
数据库用户的名称。
- `database_name` 是
数据库的名称。
- `table_name` 和 `file_path` 含义与上面的示例相同。
如果
数据文件与当前
数据库服务器不在同一个主机上,则可以将
数据文件传输到
数据库服务器并在服务器上使用上述方法导入
数据。