我想对包含我为 PostgreSQL 编写的用户定义函数的查询进行基准测试。有没有标准的方法来运行这样的基准测试?
我知道可以\timing
在 psql 提示符下打开计时,但理想情况下,我想要一个自动处理所有事情的脚本:运行查询几次,每次运行后清除 PostgreSQL 缓存(可能通过重新启动 PostgreSQL 的服务),并输出平均运行时间(使用的内存是一个加号)。
在 MySQL Workbench 中,可以使用键盘快捷键Ctrl+ENTER执行光标处的语句(用分号分隔)。
pgAdmin 中是否有类似的快捷方式?
对于仅跨越一行的 SQL 查询,我在 Dragon NaturallySpeaking 中使用语音命令:
Sub Main
SendKeys "{End}"
Wait(0.3)
SendKeys "+{Home}"
Wait(0.3)
SendKeys "{F5}"
End Sub
Run Code Online (Sandbox Code Playgroud)
但是对于跨越多于一行的 SQL 查询,我没有任何解决方案。
不知道有没有什么办法可以把我的服务器列表从pgAdmin 3导入到pgAdmin 4(这样我就不用再一次一个创建服务器了)。
我正在尝试使用 DBeaver 通过 SSH 连接到 PostgreSQL 数据库服务器:
can't initialize tunnel
cannot establish tunnel
com.jcraft.jsch.JSchException: auth fail
Run Code Online (Sandbox Code Playgroud)
我确信 SSH 服务器工作正常。我设法使用 pgAdmin 3 和 RazorSQL 通过同一台 SSH 服务器连接到同一台 PostgreSQL 数据库服务器。我检查了IP,用户名和密码,它们是正确的。我禁用了所有防火墙。可能是什么问题?
我的设置:
我使用 DBeaver 3.7.3 x64 便携版和 Windows 7 SP1 x64 Ultimate。
错误日志窗口不会记录错误,所以我没有更多信息。
我有 1000 个 CSV 文件。每个 CSV 文件的大小在 1 到 500 MB 之间,并且采用相同的格式(即相同的列顺序)。我有一个列标题的头文件,它与我的 DynamoDB 表的列名相匹配。我需要将这些文件导入到 DynamoDB 表中。这样做的最佳方式/工具是什么?
我可以将这些 CSV 文件连接成一个单一的巨型文件(尽管我宁愿避免这样做),或者在需要时将它们转换为 JSON。我知道BatchWriteItem的存在,所以我想一个好的解决方案将涉及批量写入。
例子:
first_name,last_name
:
John,Doe
Bob,Smith
Alice,Lee
Foo,Bar
Run Code Online (Sandbox Code Playgroud) 我想将 DBeaver 与 SQLite 一起使用,但网络防火墙不允许外部连接。所以DBeaver无法自动下载驱动程序。
在哪里可以下载它的 SQLite 驱动程序以及如何在 DBeaver 中手动安装它?
是否可以在 Oracle SQL Developer 中导出查询结果而不必执行两次查询?在工作表中运行 SQL 查询,然后右键单击结果集窗口 -> 导出数据 -> 文本将再次运行查询。
在 Oracle SQL Developer 中,有没有办法在 SQL 查询中包含 SQL 文件?就像\include{myfile.tex}
LaTeX 中的命令一样。
例子:
file1.sql
包含 FROM my_table;
file2.sql
包含 SELECT * \include{file1.sql}
执行file2.sql
从Oracle SQL Developer中应该是相当于执行SELECT * FROM my_table;
。
我在哪里可以看到 pgAdmin III 中表的确切行数?
我知道在哪里可以找到近似的行数:
我也知道我可以SELECT COUNT(*) FROM my_table
。但是我想知道是否可以在 pgAdmin III 的 GUI 中的某处找到确切的行数,就像我们可以查询前 100 行一样。
默认情况下,在 PostgreSQL 中,regexp_replace()
替换字符串中第一次出现的子字符串,同时replace()
替换字符串中所有出现的子字符串。为什么默认行为不同?
(我知道regexp_replace
可以使用该g
选项替换字符串中所有出现的子字符串。)
例子:
SELECT regexp_replace('hello world', 'o', 'z'); -- returns "hellz world"
SELECT regexp_replace('hello world', 'o', 'z', 'g'); -- returns "hellz wzrld"
SELECT replace('hello world', 'o', 'z'); -- returns: "hellz wzrld"
Run Code Online (Sandbox Code Playgroud)