小编Eva*_*oll的帖子

在 PostgreSQL 中创建一个非序数数字 ID

如果我在 PostgreSql 中声明一列serial,它将按顺序自动递增。由于回滚等原因,最终结果可能不连续,但或多或​​少是有序的。

我有一个用户表,其中用户 ID 设置为serial,因此从 1 开始递增...但我宁愿它们不是,因为这似乎要求某种序列号攻击。

是否有一种相对简单、相对高效的方法可以在 PostgreSQL 中创建自动人工 ID,使 ID 随机间隔开,并且您不应该期望 ID 987654321 位于 ID 987654320 后面?

postgresql primary-key uniqueidentifier

0
推荐指数
1
解决办法
2538
查看次数

0
推荐指数
1
解决办法
1983
查看次数

用“char”创建复合类型?

PostgreSQL 有一个类型char,它被存储为一个有符号的 1 字节 int

类型"char"(注意引号)的不同之处char(1)在于它只使用一个字节的存储空间。它在系统目录中作为一种简单的枚举类型在内部使用。

我们可以创建复合类型"char"?我可以用它创建一个表...

CREATE TABLE pixel ( r "char", g "char", b "char" );
Run Code Online (Sandbox Code Playgroud)

在内部创建一个我可以在其他地方使用的类型,

CREATE TABLE f ( mypixel pixel );
Run Code Online (Sandbox Code Playgroud)

但是,我可以从中创建一个简单的TYPE(无表)吗?

CREATE TYPE pixel ( r "char", g "char", b "char" );
ERROR:  syntax error at or near ""char""
LINE 1: CREATE TYPE pixel ( r "char", g "char", b "char" );
Run Code Online (Sandbox Code Playgroud)

postgresql datatypes

0
推荐指数
1
解决办法
59
查看次数

什么是 F301:查询表达式中的 CORRESPONDING 子句?

SQL 2011 规范支持CORRESPONDING子句,

功能 F301,“CORRESPONDING在查询表达式中”:

这是什么功能?它是如何使用的?并且,它是否得到任何行业 RDBM 的支持?

select exception union sql-standard

0
推荐指数
1
解决办法
609
查看次数

运算符不存在:json = 未知

这是我正在尝试做的一个例子,

SELECT *
FROM ( VALUES ('{"a":1}'::json) )
  AS t(data)
WHERE data = '{"a":1}'::json;
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误,

ERROR:  operator does not exist: json = json
LINE 4: WHERE data = '{"a":1}'::json;
                   ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
Run Code Online (Sandbox Code Playgroud)

postgresql json

-1
推荐指数
1
解决办法
2万
查看次数

使用 PostgreSQL 选择最后一个空格之后的所有内容

我正在使用 PostgreSQL 9.5 处理地址数据库,并尝试创建一个选择语句,其中只返回街道名称而不返回类型。因此,如果我有一个记录显示:“Golf Course Rd”,我只想返回:“Golf Course”,或者如果记录是“Bentwood Rd”,我只想返回“Bentwood”。

关于如何解决这个问题的任何建议?

postgresql

-1
推荐指数
1
解决办法
3092
查看次数

索引条件lower(f) LIKE '%foo%'

如何使用非锚定搜索模式索引以下语句

SELECT somefield
FROM sometable 
WHERE lower(somefield2) like '%foo%';
Run Code Online (Sandbox Code Playgroud)

有些行有超过 2k 字节。

postgresql index postgresql-extensions

-1
推荐指数
1
解决办法
201
查看次数

仅当 PostgreSQL 中不存在表时,如何创建表?

这是在PostgreSQL中创建新表的方法,

CREATE TABLE foo (
    foo_id  int   PRIMARY KEY,
    bar     text,
);
Run Code Online (Sandbox Code Playgroud)

如果需要检查该表是否已存在并CREATE仅在未找到时继续处理,我该如何执行此操作?

postgresql table postgresql-10

-2
推荐指数
1
解决办法
8211
查看次数

`QUOTED_IDENTIFIERS` 究竟是做什么的?

SQL Server 中有一个非常令人讨厌的功能QUOTED_IDENTIFIERS,我想了解更多。简而言之,将选项设置为ON,这不是 Linux 客户端的默认设置,一切正常。没有它,有些事情会神奇地失败。Microsoft 声称该选项是DEFAULT,然后他们在自己的默认客户端中默认更改它。随着SET QUOTED_IDENTIFIERS OFF;,这有效,

CREATE TABLE f (
  a int,
  b int,
  g AS (CASE WHEN a>b THEN a ELSE b END),
  l AS (CASE WHEN a>b THEN b ELSE a END),
  UNIQUE(a,b)
);
Run Code Online (Sandbox Code Playgroud)

有了SET QUOTED_IDENTIFIERS OFF;,这并不能正常工作,

CREATE TABLE f (
  a int,
  b int,
  g AS (CASE WHEN a>b THEN a ELSE b END),
  l AS (CASE WHEN a>b THEN b ELSE a …
Run Code Online (Sandbox Code Playgroud)

sql-server linux configuration

-5
推荐指数
1
解决办法
99
查看次数