首页 热点专区 义务教育 高等教育 出国留学 考研考公

powerdesigner能不能生成postgres表

发布网友 发布时间:2022-04-23 23:29

我来回答

2个回答

懂视网 时间:2022-04-10 00:46

  Powerdesigner

  PostgreSQL

  PostgreSQL ODBC驱动程序: psqlODBC,网址:http://www.postgresql.org/ftp/odbc/versions/msi/

2. 安装PostgreSQL的ODBC驱动程序

  双击运行

3.配置PostgreSQL的ODBC驱动程序

  开始-》控制面板-》管理工具-》数据源(ODBC)-》用户DSN-》添加

  技术分享

  技术分享

4.启动PowerDesigner(管理员身份),准备逆向生成。

   (1)新建数据模型

   技术分享

  (2)配置数据源

  技术分享

  技术分享

  (3)逆向生成或者从数据库更新

  技术分享

  技术分享

 

  技术分享

   (4)选择要生成的数据库表

    去掉以"pg_"开头的数据表(因为这些数据表是PostgreSQL自动生成的). 可以选择感兴趣的数据表, 导出物理数据模型.

   技术分享

  (5)显示生成的图形

   让PDM图形列表显示name和code等需要的信息

  点击菜单”TOOLS” —〉显示参数设置(DISPLAY PREFERENCES) ,

  在弹出来的框中选中Content—〉Table —> 点右下角那个Advanced 按钮 —> 在弹出的框中选中 Columns —>点ListColumns右边的按钮 —> 在弹出的框中找到Code 和 Name ,在它后面的小框中打上勾

  技术分享

  技术分享

  右键PhysicalDiagram,选择show symbols,点击select all,点击ok即可。

  技术分享

  (6)生成了pdm

  技术分享

  (7)导出图片

  选中要生成图片的实体然后点击Edit—Export Image就可以,可以用Ctrl+A全部选中,也可以用Shift+鼠标左键来逐个选中一部分; 

  技术分享

  技术分享

 

参考网址:http://blog.csdn.net/suyu_yuan/article/details/52754255

     http://blog.csdn.net/testcs_dn/article/details/46859393

     http://www.cnblogs.com/simpleZone/p/54781.html

  

  

  

 

 

 

  

Powerdesigner+PostgreSQL

标签:参数设置   designer   display   ble   alt   准备   name   edit   启动   

热心网友 时间:2022-04-09 21:54

方法一:通过查找表数据文件方式这种方法通过查找表的数据文件的方式从而确定表的创建时间,但是这种方法并不能准备查询表的创建时间,而且有时候,这种方法得到的信息还有可能是错误的,下面大致演示下。--1.1创建表并插入数据francs=>createtabletest_ctime(idint4primarykey,namevarchar(32));NOTICE:CREATETABLE/PRIMARYKEYwillcreateimplicitindex"test_ctime_pkey"fortable"test_ctime"CREATETABLEfrancs=>insertintotest_ctimeselectgenerate_series(1,10000),'create_timetest';INSERT010000francs=>\dtest_ctime;Table"francs.test_ctime"Column|Type|Modifiers--------+-----------------------+-----------id|integer|notnullname|charactervarying(32)|Indexes:"test_ctime_pkey"PRIMARYKEY,btree(id)francs=>\dt+test_ctime;ListofrelationsSchema|Name|Type|Owner|Size|Description--------+------------+-------+--------+--------+-------------francs|test_ctime|table|francs|536kB|(1row)备注:表创建好了,接下来演示如何定位表的物理文件。--1.2定位表所在的表空间francs=>selectrelname,relfilenode,reltablespacefrompg_classwhererelname='test_ctime';relname|relfilenode|reltablespace------------+-------------+---------------test_ctime|24650|0(1row)备注:在PostgreSQL的逻辑结构体系中,表位于数据库中,同时表位于表空间上,面表空间对应系统上一个文件目录,每个表由一个或者多个文件组成;根据上面的结果,表test_ctime的reltablespace值为0,表示位于所属数据库的默认表空间,注意relfilenode值为24650。--1.3查询数据库francs的默认表空间francs=>selectoid,datname,dattablespacefrompg_databasewheredatname='francs';oid|datname|dattablespace-------+---------+---------------16386|francs|16385备注:上面查出数据库francs的默认表空间的oid为16385。--1.4查找oid为16385的表空间francs=>selectoid,*frompg_tablespacewhereoid=16385;oid|spcname|spcowner|spcacl|spcoptions-------+------------+----------+-----------------------------------------+------------16385|tbs_francs|10|{postgres=C/postgres,francs=C/postgres}|(1row)备注:查了半天才查到表test_ctime的默认表空间为tbs_francs,这里之所以饶这么大圈,是为了展示postgresql中的一些逻辑结构关系,如果自己对环境比较熟悉,可以直接定位到哪个表空间。--1.5查询表空间tbs_francs对应的物理目录francs=>\dbListoftablespacesName|Owner|Location------------+----------+------------------------------------------pg_default|postgres|pg_global|postgres|tbs_francs|postgres|/database/1922/pgdata1/pg_tbs/tbs_francs(3rows)备注:表空间tbs_francs的数据目录为/database/1922/pgdata1/pg_tbs/tbs_francs。--1.6进入数据目录[postgres@redhat616386]$cd/database/1922/pgdata1/pg_tbs/tbs_francs[postgres@redhat6tbs_francs]$lltotal4.0Kdrwx------.4postgrespostgres4.0KMay2210:35PG_9.2_201204301[postgres@redhat6tbs_francs]$cdPG_9.2_201204301/[postgres@redhat6PG_9.2_201204301]$lltotal16Kdrwx------.2postgrespostgres12KJun2619:0316386drwx------.2postgrespostgres4.0KMay2210:37pgsql_tmp备注:根据前面的步骤1.3查询的信息知道16386为数据库francs的oid。再根据步骤1.2的信息知道表test_ctime的relfilenode值为24650--1.7查找表test_ctime的数据文件[postgres@redhat616386]$ll24650-rw-------.1postgrespostgres512KJun2618:5724650备注:根据数据文件24650知道表的创建时间为2012-06-2618:57。但这种方法并不准确,因为表上的操作可能导致表重新生成文件,接着演示。--1.8cluster表francs=>clusterverbosetest_ctimeusingtest_ctime_pkey;INFO:clustering"francs.test_ctime"usingindexscanon"test_ctime_pkey"INFO:"test_ctime":found0removable,10000nonremovablerowversionsinpagesDETAIL:0deadrowversionscannotberemovedyet.CPU0.00s/0.03usecelapsed0.08sec.CLUSTERfrancs=>selectrelname,relfilenode,reltablespacefrompg_classwhererelname='test_ctime';relname|relfilenode|reltablespace------------+-------------+---------------test_ctime|24655|0(1row)备注:表test_ctime经过cluster操作后,重新生成了数据文件,文件号由原来的24650变成了24655--1.9系统上再次查询表数据文件[postgres@redhat616386]$ll24650-rw-------.1postgrespostgres0Jun2619:1924650[postgres@redhat616386]$ll24655-rw-------.1postgrespostgres512KJun2619:1924655备注:显然新文件的时间24655并不是表test_ctime的初始创建时间。--1.10vacuumfull表francs=>vacuumfulltest_ctime;VACUUMfrancs=>selectrelname,relfilenode,reltablespacefrompg_classwhererelname='test_ctime';relname|relfilenode|reltablespace------------+-------------+---------------test_ctime|24659|0(1row)备注:vacuumfull操作后,同样产生了新文件,新文件号为24659--1.11系统上再次查询表数据文件[postgres@redhat616386]$ll24659-rw-------.1postgrespostgres512KJun2619:2224659

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com