小编ype*_*eᵀᴹ的帖子

使用 psql 列出数据库权限

我正在进行数据库服务器迁移,但我不知道(在谷歌搜索和在这里搜索之后)如何使用psql命令行工具列出 PostgreSQL 上的数据库权限(或服务器上的所有权限)?

我在 Ubuntu 11.04 上,我的 PostgreSQL 版本是 8.2.x。

postgresql permissions ubuntu psql

220
推荐指数
8
解决办法
62万
查看次数

存储过程可以防止 SQL 注入吗?

存储过程真的可以防止针对 PostgreSQL 数据库的 SQL 注入攻击吗?我做了一点研究,发现即使我们只使用存储过程,SQL Server、Oracle 和 MySQL 也不能安全地抵御 SQL 注入。但是,这个问题在 PostgreSQL 中不存在。

PostgreSQL 核心中的存储过程实现是防止 SQL 注入攻击还是其他什么?或者即使我们只使用存储过程,PostgreSQL 是否也容易受到 SQL 注入的影响?如果是这样,请给我举个例子(例如书籍、网站、论文等)。

postgresql security sql-injection

85
推荐指数
5
解决办法
1万
查看次数

InnoDB 或 MyISAM 哪个更快?

MyISAM 如何比 InnoDB“更快”,如果

  • MyISAM 需要为数据做磁盘读取吗?
  • InnoDB 对索引和数据使用缓冲池,而 MyISAM 只用于索引?

mysql innodb myisam storage-engine

59
推荐指数
3
解决办法
13万
查看次数

更改实时生产表上 varchar 的长度

我有一个 MS SQL Server 2008 R2 DB 服务器,目前正在与生产应用程序一起使用。

该应用程序的新增强功能现在需要varchar(100)增加表格中的列长度​​。

能否在不影响当前数据的情况下增加 prod DB 中此现有列的长度?

是否必须在非工作时间完成此更改以避免服务中断?

sql-server sql-server-2008-r2

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

空间索引可以帮助“范围-排序-限制”查询吗

问这个问题,特别是针对 Postgres,因为它对 R 树/空间索引有很好的支持。

我们有下表,其中包含单词及其频率的树结构(嵌套集模型):

lexikon
-------
_id   integer  PRIMARY KEY
word  text
frequency integer
lset  integer  UNIQUE KEY
rset  integer  UNIQUE KEY
Run Code Online (Sandbox Code Playgroud)

和查询:

SELECT word
FROM lexikon
WHERE lset BETWEEN @Low AND @High
ORDER BY frequency DESC
LIMIT @N
Run Code Online (Sandbox Code Playgroud)

我认为覆盖索引(lset, frequency, word)会很有用,但我觉得如果范围内的lset值太多,它可能表现不佳(@High, @Low)

(frequency DESC)有时,当使用该索引的搜索早期产生@N与范围条件匹配的行时,一个简单的索引也可能就足够了。

但似乎性能在很大程度上取决于参数值。

有没有办法让它快速执行,不管范围(@Low, @High)是宽还是窄,也不管高频词是否幸运地在(窄)选择的范围内?

R-tree/空间索引有帮助吗?

添加索引,重写查询,重新设计表,没有限制。

postgresql performance index database-design query-performance

28
推荐指数
2
解决办法
4312
查看次数

检查 InnoDB 表是否已更改的最快方法

我的应用程序是非常数据库密集型的。目前,我正在运行 MySQL 5.5.19 并使用 MyISAM,但我正在迁移到 InnoDB。剩下的唯一问题是校验和性能。

我的应用程序CHECKSUM TABLE在高峰时间每秒执行大约 500-1000 条语句,因为客户端 GUI 不断轮询数据库以进行更改(它是一个监控系统,因此必须非常敏感且快速)。

使用 MyISAM,可以在表修改时预先计算实时校验和,并且速度非常快。但是,InnoDB 中没有这样的东西。所以,CHECKSUM TABLE很慢。

我希望能够检查表的最后更新时间,不幸的是,这在 InnoDB 中也不可用。我现在卡住了,因为测试表明应用程序的性能急剧下降。

更新表的代码行太多了,因此在应用程序中实现逻辑来记录表更改是不可能的。

是否有任何快速方法来检测 InnoDB 表中的变化?

mysql innodb performance

27
推荐指数
2
解决办法
6万
查看次数

如何设置 Postgresql 数据库以将日期永久显示为“MDY”

如何在不运行的情况下设置我的数据库以将“日期”视为“MDY”:

SET datestyle = "ISO, MDY";
Run Code Online (Sandbox Code Playgroud)

每次我试图访问它?我使用的是 Postgresql 9.1 版,Ubuntu 12.04。我的系统区域设置,在数据库安装时设置为en_CA.utf8,我最近将其更改为en_US.utf8.

show lc_CTYPE
Run Code Online (Sandbox Code Playgroud)

返回:--> "en_CA.UTF-8"

show LC_CoLLATE
Run Code Online (Sandbox Code Playgroud)

返回:--> "en_CA.UTF-8"

postgresql date-format

26
推荐指数
2
解决办法
5万
查看次数

更改现有数据目录路径

我想更改文件中的datadir路径my.ini

现有的datadir路径是C:/ProgramData/MySQL/MySQL Server 5.1/Data/

我的C:驱动器大小为 30 GB,MySQL 数据文件夹占用 25 GB。所以我想datadirF:/naveen/data.

这可能吗?

我的机器运行的是Windows Server 2003

mysql windows mysql-5.1

24
推荐指数
1
解决办法
7万
查看次数

存储日期时间的首选方式

我们可以通过多种方式存储日期和时间信息。存储 DateTime 信息的最佳方法是什么?

使用 DateTime将日期和时间存储在2 个单独的列一列中

你能解释为什么这种方法更好吗?

(链接到 MySQL 文档以供参考,问题是一般性的,不是特定于 MySQL)
日期和时间类型:日期和时间

database-design datetime

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

是否有 DBMS 允许引用视图(而不仅仅是基表)的外键?

受到 Django 建模问题的启发:Database Modeling with multiple many-to-many Relations in Django。db-design 是这样的:

CREATE TABLE Book
( BookID INT NOT NULL
, BookTitle VARCHAR(200) NOT NULL
, PRIMARY KEY (BookID)
) ;

CREATE TABLE Tag
( TagID INT NOT NULL
, TagName VARCHAR(50) NOT NULL
, PRIMARY KEY (TagID)
) ;

CREATE TABLE BookTag
( BookID INT NOT NULL
, TagID INT NOT NULL
, PRIMARY KEY (BookID, TagID)
, FOREIGN KEY (BookID)  REFERENCES Book (BookID)
, FOREIGN KEY (TagID) …
Run Code Online (Sandbox Code Playgroud)

foreign-key database-design referential-integrity

23
推荐指数
3
解决办法
6889
查看次数