我是PostgreSQL的新手。我正在开发一个项目,将我们的MSSQL数据库转换为PostgreSQL。现在我们所有的表和列都使用扩展属性(MS_Description)进行记录。我希望能够保留所有这些描述,但似乎无法弄清楚是否有办法将这些描述转换为PostgreSQL。有关我如何做到这一点的任何想法?我总是可以将信息转储到数据字典表中,但不希望将信息与实际的表/列分开。PostgreSQL ms_description相当于?
1
A
回答
2
使用COMMENT命令,如:
comment on table test is 'My favotite table';
comment on column test.id is 'Primary key of my favorite table';
要检索SQL这些注释使用的功能(见Table 9-60. Comment Information Functions):
select obj_description('test'::regclass, 'pg_class');
obj_description
-------------------
My favotite table
(1 row)
select col_description('test'::regclass, 1);
col_description
----------------------------------
Primary key of my favorite table
(1 row)
1
对于任何人需要做到这一点,这里是脚本我根据@ klin的答案编写了从MS SQL获取描述并创建所需的PostgreSQL命令。第一个选择构建表描述和第二构建列描述:
SELECT N'comment on table '+ Lower(o1.[name])
+ N' is ''' + CAST(s1.value AS NVARCHAR(4000)) + ''';'
FROM sys.objects o1
INNER JOIN sys.extended_properties s1 on o1.object_id = s1.major_id
WHERE o1.type = 'U'
AND s1.name = 'MS_Description'
UNION
SELECT N'comment on column '+ Lower(o2.[name]) + '.' + Lower(c.[name])
+ N' is ''' + CAST(s2.value AS NVARCHAR(4000)) + ''';'
FROM sys.objects o2
INNER JOIN sys.columns c ON o2.object_id = c.object_id
INNER JOIN sys.extended_properties s2 on o2.object_id = s2.major_id
WHERE o2.type = 'U'
AND c.column_id = s2.minor_id
AND s2.name = 'MS_Description';
相关问题
- 1. Oracle相当于PostgreSQL INSERT ... RETURNING *;
- 2. Postgresql相当于闪回
- 3. SDO_GEOMETRY在Postgresql中相当于
- 4. PostgreSQL中相当于DATEADD
- 5. date_trunc PostgreSQL函数相当于mySQL
- 6. PostgreSQL相当于Oracle的“批量收集”
- 7. 枢转相当于在PostgreSQL中
- 8. 的PostgreSQL相当于MySQL的--force标志
- 9. 相当于PostgreSQL的Oracle批量插入
- 10. 有MySQL的相当于PostgreSQL的array_to_string
- 11. 什么是PostgreSQL相当于SQL Server NVARCHAR?
- 12. 对于MySQL的pgpool-II相当于
- 13. DB2中的generate_series()相当于
- 14. postgresql相当于SQL Server sysprocesses登录名和程序名
- 15. 相当于MySQL UTC_DATE()(获取UTC日期)的最快PostgreSQL?
- 16. 有一个PostgreSQL相当于SELECT @@ ROWCOUNT在T-SQL?
- 17. 相当于SQL Server功能的Postgresql转换
- 18. 相当于JDIC?
- 19. 相当于AWS
- 20. Android:getElementsByTagName相当于?
- 21. Linq相当于
- 22. drupalPost()相当于
- 23. 相当于SparkSQL
- 24. 相当于C#
- 25. HQL'parsename'相当于
- 26. Java等于()相当于PHP
- 27. WP7相当于EmptyDataTemplate?
- 28. find_by_sql相当于mongoid?
- 29. DateTime.FromOADate相当于swift
- 30. Vitamio相当于MEDIA_INFO_VIDEO_RENDERING_START
这是许多其他DBMS也使用(甲骨文,DB2,火鸟,HSQLDB,...) –
感谢这么多的语法!这非常有帮助。 – Helen