我正在将我的服务器应用程序从现有系统迁移到另一个系统。不幸的是,现有系统也是数据库服务器。它存储了数据。是否可以将此数据复制到其他系统?我有所有表模式的副本。
我不知道如何继续。我正在使用 PostgreSQL。
这是我的两张表:
table1
qid[PK] |gid[PK] |abcd | xyz | date
---------------+---------+---------+------+------------
00001 | qwe | 54 | a | 1994-11-29
00002 | asd | 0 | s | 1994-11-29
00003 | azx | 50 | 0.25 | 1994-11-27
Run Code Online (Sandbox Code Playgroud)
表2
qid[PK] | gid[PK] | user[PK]
------------+---------+--------
00001 | qwe | shreya
00001 | qwe | nagma
00001 | qwe | koena
00001 | qwe | paoli
00002 | asd | anushka
00002 | asd | angelina
00003 | azx | jolie
00003 …
Run Code Online (Sandbox Code Playgroud) 我有这张桌子
create table testing(
c1 text,
c2 text);
Run Code Online (Sandbox Code Playgroud)
我同时打开两笔交易。t0 t1..
表示按递增顺序排列的一系列时间快照 事务 1
BEGIN; -- t0
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; -- t2
SELECT * FROM testing where c2 = 'rand'; -- t4
INSERT INTO testing VALUES ('rand', 'xyz'); -- t6
COMMIT; -- t8
Run Code Online (Sandbox Code Playgroud)
交易2
BEGIN; -- t1
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; -- t3
SELECT * FROM testing where c1 = 'rand1'; -- t5
INSERT INTO testing VALUES ('rand1', 'abc'); -- t7
COMMIT; -- t9
Run Code Online (Sandbox Code Playgroud)
t9
当我收到这个错误
后 …
我使用 jboss 服务器作为我的 servlets 和 postgresql 作为数据库服务器,监听本地主机上的端口 5432。我的 jboss 服务器绑定到一个公共 IP。我想知道,由于我的 postgesql 只绑定到本地主机,是否有任何攻击的机会。
任何人即使拥有数据库的用户名和密码,也能看到所有的表数据吗?
我有一个疑问:
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)
我想知道这是否是一个良好的查询性能和替代查询,其性能优于上述查询。
我有一个应用程序,用户可以在其中查看他发布的所有问题的历史记录。这些必须按照最新到最旧的顺序显示。我正在 Android 中实现这一点。
我有两个问题
1)我没有存储提出问题的时间。postgres 是否在内部存储插入行的时间戳?
2)在移动设备中,一次只能显示几个帖子。因此,当用户滚动时,应该显示新行。所以在数据库中,是否可以像给我前 10 行、10-20 行等查询。
我们的网络应用程序类似于 - 用户可以创建群组(也可以请求成为群组成员)、提问、回答等。它仍处于开发阶段。我想要做的是紧密结合一些表。
例如- 每当新成员加入一个组时(即当该表正在更新时),应检查他/她是否是有效用户,或者每当有人在组中提出问题时,在将问题插入表之前,它应该检查该用户是否是该组的成员等。
我不能使用外键进行这些检查,因为组 mmbers 是以这种方式存储的
group_id members
mygroup member1,member2,member3
group001 member2,member10,member2,..<br>
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,它们是通过分隔逗号存储的。所以我不能放置外键约束。
我不想在每个 servlet 中进行这些检查。我想在插入时在数据库本身中执行它们。请告诉我如何进行此操作?
谢谢你。
postgresql ×7
backup ×1
jdbc ×1
join ×1
restore ×1
security ×1
select ×1
transaction ×1
view ×1