相关疑难解决方法(0)

如何在Postgres中找到所有表的行数

我正在寻找一种方法来查找Postgres中所有表的行数.我知道我可以一次做一张桌子:

SELECT count(*) FROM table_name;
Run Code Online (Sandbox Code Playgroud)

但我希望看到所有表格的行数,然后按顺序排列,以了解我所有表格的大小.

postgresql count database-table

362
推荐指数
13
解决办法
28万
查看次数

如何检查给定模式中是否存在表

Postgres 8.4及更高版本的数据库包含public模式中的模式和公司特定表中的公用表company.
company模式名称始终'company'以公司编号开头并以公司编号结束.
所以可能有以下模式:

public
company1
company2
company3
...
companynn
Run Code Online (Sandbox Code Playgroud)

应用程序始终适用于单个公司.
search_path相应指定在ODBC或连接Npgsql的字符串,如:

search_path='company3,public'
Run Code Online (Sandbox Code Playgroud)

如何检查给定表是否存在于指定的companyn模式中?

例如:

select isSpecific('company3','tablenotincompany3schema')
Run Code Online (Sandbox Code Playgroud)

应该返回false,并

select isSpecific('company3','tableincompany3schema')
Run Code Online (Sandbox Code Playgroud)

应该回来true.

在任何情况下,该函数应仅检查companyn传递的模式,而不检查其他模式.

如果两者public和传递的模式中都存在给定的表,则该函数应该返回true.
它适用于Postgres 8.4或更高版本.

sql database postgresql information-schema search-path

133
推荐指数
2
解决办法
14万
查看次数

搜索特定值的所有表中的所有字段(Oracle)

是否有可能在每个表的每个字段中搜索Oracle中的特定值?

在一些表中有数百个表有数千行,所以我知道这可能需要很长时间才能查询.但我唯一知道的是我想要查询的字段的值是1/22/2008P09RR8.<

我已经尝试使用下面的这个语句根据我认为应该命名的内容找到一个合适的列,但它没有返回任何结果.

SELECT * from dba_objects 
WHERE object_name like '%DTN%'
Run Code Online (Sandbox Code Playgroud)

这个数据库绝对没有文档,我不知道该字段的来源.

有什么想法吗?

sql oracle search plsql database-table

110
推荐指数
9
解决办法
39万
查看次数

在表的所有列中搜索值?

我已经找到了答案,但我能找到的只是人们询问如何搜索数据库中所有表的所有列的值.我只想搜索特定表的所有列.人们为所有表格提出的代码问题很复杂,我很难弄清楚它在哪里搜索特定的表格.有人可以帮帮我吗?谢谢

sql sql-server

10
推荐指数
2
解决办法
3万
查看次数

PostgreSQL:正则表达式转义函数

为了放弃阅读整个问题,我的基本问题是:
PostgreSQL中是否有一个函数来转义字符串中的正则表达式字符?

我已经探测过文档,但无法找到这样的功能.

这是完整的问题:

在PostgreSQL数据库中,我有一个包含唯一名称的列.我还有一个定期在此字段中插入名称的进程,并且为了防止重复,如果需要输入已存在的名称,它会在末尾附加一个空格和括号.

即姓名,姓名(1),姓名(2),姓名(3)等

就目前而言,我使用以下代码来查找要在系列中添加的下一个数字(用plpgsql编写):

var_name_id := 1;

SELECT CAST(substring(a.name from E'\\((\\d+)\\)$') AS int)
INTO var_last_name_id
FROM my_table.names a
WHERE a.name LIKE var_name || ' (%)'
ORDER BY CAST(substring(a.name from E'\\((\\d+)\\)$') AS int) DESC
LIMIT 1;

IF var_last_name_id IS NOT NULL THEN
    var_name_id = var_last_name_id + 1;
END IF;

var_new_name := var_name || ' (' || var_name_id || ')';
Run Code Online (Sandbox Code Playgroud)

(var_name包含我试图插入的名称.)

这暂时有效,但问题出在WHERE声明中:

WHERE a.name LIKE var_name || ' (%)'
Run Code Online (Sandbox Code Playgroud)

此检查不会验证有%问题的数字,并且它不会考虑多个括号,如"Name((1))",如果存在任何一种情况,则会抛出强制转换异常.

WHERE声明确实需要像更多的东西: …

regex postgresql escaping plpgsql pattern-matching

9
推荐指数
2
解决办法
4853
查看次数

在 PgAdmin 中的所有表中搜索

在 PgAdmin 中,是否可以在所有表​​中搜索值?在 phpmyadmin 中这是可能的并且非常方便。您搜索一个 ID 值并找到它出现的所有表。我似乎无法在 PgAdmin 中找到此功能。

它存在吗?

postgresql pgadmin

6
推荐指数
1
解决办法
9569
查看次数

搜索整个postgres数据库?

我有一个庞大的数据库,我不介意离开搜索一段时间,但我不能因各种原因转储整个数据库.我能写的最简单的查询是什么,它将搜索数据库中所有表的所有字段以获取特定的文本字符串?

以下内容不起作用,但应展示我希望看到的内容:

 SELECT * FROM * where * like '%mystring%'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

postgresql

0
推荐指数
2
解决办法
728
查看次数