我使用 jboss 服务器作为我的 servlets 和 postgresql 作为数据库服务器,监听本地主机上的端口 5432。我的 jboss 服务器绑定到一个公共 IP。我想知道,由于我的 postgesql 只绑定到本地主机,是否有任何攻击的机会。
任何人即使拥有数据库的用户名和密码,也能看到所有的表数据吗?
这个查询给了我多个点击,因为每个assetid可能包含很多vb.title. 如何将结果限制为每个仅 1 次命中assetid?
'select DISTINCT v.id,
v.purchasedate,
v.customerid,
v.assetid,
va.description,
vb.title
from purchases v,
asset va,
assetdescription vb
where customerid = '$kid'
and v.assetid = va.id
and vb.assetid = va.id
order by v.purchasedate'
Run Code Online (Sandbox Code Playgroud) 我使用 cygwin 全屏远程连接到我的数据库服务器。
当我查询我的数据库时
select id, name from table limit 27;
Run Code Online (Sandbox Code Playgroud)
我得到 27 条记录,我可以执行一个新查询,查看上一个查询的结果。
但是,如果我将 27 替换为 28,我会在一个屏幕中看到 28 条记录,并带有(End)反向视频。如果我想做一个新的查询,我必须按q。
即使我使用 cygwin 窗口的滚动条,我也看不到上一个查询的结果。
我必须修改哪个选项才能增加此缓冲区?
我的 psql 客户端和数据库服务器版本是 9.1.4,它们安装在 Ubuntu 12.04 上
我似乎无法找到答案的相当简单的问题 - 我正在处理工会和差异,我想对结果执行 COUNT。目前,我不得不输出到一个文件并“wc -l”该文件(Postgres 打印减去 4)。必须有一种方法来包含 COUNT ...
SELECT tbl1.id EXCEPT (SELECT tbl2.id UNION tbl3.id);
Run Code Online (Sandbox Code Playgroud)
我想知道设置差异后的结果数量。感谢您提供任何意见!
我有一个大约有 210 万个元组的表。其中有纬度和经度列。我正在尝试将其转换为地理类型(带有 SRID 的点)。
我编写的函数(程序)在我限制条目时工作正常(比如 : SELECT id,longitude,latitude FROM list_of_location limit 50)。
CREATE OR REPLACE FUNCTION convertlatlon() RETURNS VOID AS $$
DECLARE rec RECORD;
BEGIN
FOR rec IN SELECT id,longitude,latitude FROM list_of_location
LOOP
UPDATE list_of_location SET location= concat('SRID=4326;POINT(',rec.longitude,' ',rec.latitude,')') WHERE id=rec.id;
END LOOP;
END;
$$ LANGUAGE 'plpgsql' ;
Run Code Online (Sandbox Code Playgroud)
我们的应用程序是基于 Web 的应用程序(建立在多租户架构上),运行 PostgreSQL v9.1.3。我们的应用程序中大约有 450 个表,其中 2-3 个表特定于应用程序中的某个模块,与其他剩余表相比存储了大量记录,并且被应用程序用户频繁访问(读取和写入操作) .
为了给出可用记录量的图片/统计数据,目前一个表中有800 万条记录,另一张表中有300 万条记录。我们预计在不久的将来这些表的交易量(同样是读取和写入交易)会立即增加/流量,因为我们在这个特定模块中提出了一些令人兴奋的功能。
我的要求问题是,
根据此处的文档,我想用 PostgreSQL 数据库创建一个 pgpool II。当我尝试安装时,遇到此错误:
configure: error: libpq is not installed or libpq is old
Run Code Online (Sandbox Code Playgroud)
搜索 pgpool 网站,他们提到./configure使用以下命令运行:
--with-pgsql
Run Code Online (Sandbox Code Playgroud)
或者
--with-pgsql-includedir
Run Code Online (Sandbox Code Playgroud)
或者
--with-pgsql-libdir
Run Code Online (Sandbox Code Playgroud)
但我仍然面临同样的问题。谁能指导我从这里可以做什么?
我正在运行从 CentOS 5 上的 yum 包安装的 PostgreSQL 9.2。
我有一个疑问:
select qid,ansid,ans from table1 where askerid='something'
Run Code Online (Sandbox Code Playgroud)
此查询可以检索许多行。但我想一次只显示 50 行,然后如果用户单击more,则应检索接下来的 50 行。我想到了这样的查询:
select qid,ansid,ans
from table1
where askerid='something'
limit 100
minus
select qid,ansid,ans
from table1
where askerid='something'
limit 50
Run Code Online (Sandbox Code Playgroud)
我想知道这是否是一个良好的查询性能和替代查询,其性能优于上述查询。
我正在寻找一个开源替代品 SQLMaestro for PostgreSQL 的因为它具有可视化数据库设计器,而 pgAdmin 中没有它,这使得数据库设计变得如此简单。
PS 我不确定这在这里是否违法,但我不得不问一下,因为谷歌没有帮助我找到替代方案。
这是我的配置:
#postgres.conf:
listen_addresses = 'localhost'
#pg_hba.conf:
local all postgres md5
local all appuser trust
local all devuser trust
local all all peer
Run Code Online (Sandbox Code Playgroud)
我正在使用 C-Library 在本地连接libpq。我的连接字符串是:
host=localhost user=appuser dbname=mydbname port='5432'
但是,除非我的开发人员用户(devuser)(启动与 libpq 链接的应用程序的人)的家中有一个 .pgpass 文件,否则我的可执行文件无法连接,我收到错误 fe_sendauth : no password supplied
正如我所说,如果 .pgpass 文件在这里,那么它连接正常。
我不明白的是:我配置了local all appuser trust。为什么我仍然需要一个 .pgpass 文件?
(这本身并不是一个严重的问题,因为稍后为了安全措施,它将不再位于trust, but md5,所以无论如何我都会拥有 .pgpass 文件。但我想知道)
postgresql ×10
linux ×2
aggregate ×1
except ×1
join ×1
performance ×1
pgpool ×1
replication ×1
security ×1
select ×1
spatial ×1
ubuntu ×1
view ×1