Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 搜索字符串';某处';在数据库中_Database_String_Postgresql_Search - Fatal编程技术网

Database 搜索字符串';某处';在数据库中

Database 搜索字符串';某处';在数据库中,database,string,postgresql,search,Database,String,Postgresql,Search,这是我的问题:我第一次查看某人基于Postgresql的数据库应用程序,并试图找出导致系统日志文件中某些警告/错误的原因。我对数据库模式一无所知。我对源代码一无所知。但我需要找出问题所在 我可以使用UNIX命令“grep”轻松搜索基于文本文件的代码(如php和perl)的字符串内容;即使对于已编译的二进制文件,我也可以使用UNIX命令“find”和“strings” 我的问题是日志文件中生成的一些文本来自数据库本身。检查数据库的错误日志文件不会产生任何有用的结果,因为应用程序使用的查询没有问题

这是我的问题:我第一次查看某人基于Postgresql的数据库应用程序,并试图找出导致系统日志文件中某些警告/错误的原因。我对数据库模式一无所知。我对源代码一无所知。但我需要找出问题所在

我可以使用UNIX命令“grep”轻松搜索基于文本文件的代码(如php和perl)的字符串内容;即使对于已编译的二进制文件,我也可以使用UNIX命令“find”和“strings”

我的问题是日志文件中生成的一些文本来自数据库本身。检查数据库的错误日志文件不会产生任何有用的结果,因为应用程序使用的查询没有问题

我想做的是彻底地搜索数据库中的所有列和所有表以查找字符串。这有可能吗?怎么可能


提前感谢您的指点。所使用的环境是Postgresql 8.2,但了解如何在其他类型的关系数据库中实现这一点也很有用。

我不熟悉Postgresql,但我认为,与SQL Server一样,它具有描述数据库模式的元数据表/视图(对于SQL Server 2005+,我指的是sys.tables和sys.columns)。其思想是基于表架构生成一系列特殊查询,每个查询在特定的表/字段组合中查找匹配项,并将匹配项抽入“日志”表。

我过去使用过的变体。

这可能不是最佳选择,但因为我已经知道如何对文本文件进行grep,所以我只需将数据库转换为文本文件,并对其进行grep。在这种情况下,将数据库转换为文本文件意味着使用grep转储数据


最快/最简单/最有效的方法并不总是优雅的…

快速和肮脏:我喜欢它。这个解决方案对于我们这些比SQL查询和函数更熟悉正则表达式的人来说效果很好。谢谢!