pgsql包含字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pgsql包含字段相关的知识,希望对你有一定的参考价值。

PostgreSQL包含以下字段:

1. 数据类型:整数、浮点数、字符串、日期/时间、布尔值、大对象(BLOB)、数组、复合类型、自定义类型等。

2. 索引:B树、哈希、GiST、SP-GiST、GIN等。

3. 函数:内置函数、自定义函数、聚合函数、触发器函数等。

4. 视图:普通视图、索引视图、触发器视图等。

5. 权限:用户权限、表
参考技术A PostgreSQL数据库的表可以包含使用多种类型的字段,包括int、varchar、date、timestamp、boolean和bytea等。 参考技术B mysql和PostgreSQL/pgsql中查询指定表指定字段的默认值写代码时,需要给实体类赋值,

Firebird - PGSQL 中的串行字段? [复制]

【中文标题】Firebird - PGSQL 中的串行字段? [复制]【英文标题】:Firebird - serial field as in PGSQL? [duplicate] 【发布时间】:2013-03-26 11:23:09 【问题描述】:

PGSQL 支持“串行”字段类型,转换为:

colname integer DEFAULT nextval('tablename_colname_seq') NOT NULL

这使得标识符的生成非常容易。

在 Firebird 中,我只看到了基于触发器的解决方案。

是否可以在 Firebird 中使用相同的解决方案来避免为每个表创建触发器?

colname integer DEFAULT gen_id(generator, 1)

我现在没有安装 Firebird 版本来检查它,但也许有人知道答案。

或者我可以为此使用“我的功能”吗? 伪:

create function mygenid(genname) returns integer
begin
   return gen_id(genname);
end;

create table x(
   colname integer DEFAULT mygenid(generator, 1)

【问题讨论】:

为什么要避免触发器? 【参考方案1】:

Firebird 2.5 及更早版本仅支持生成 id 的触发器。 Firebird 3.0 引入了一个选项,可以在 DDL 表中使用generated by default as identity 指定它:

create table objects (
   id integer generated by default as identity primary key,
   name varchar(15)
);

这是为您创建触发器和相关序列的语法糖。

【讨论】:

谢谢!这很有趣,因为布尔字段只会出现在 FB3 中……但是什么时候发布呢? @durumdara 我不知道 Firebird 3 什么时候发布。它仍在开发中,第一个 alpha 版本尚未发布。

以上是关于pgsql包含字段的主要内容,如果未能解决你的问题,请参考以下文章

pgsql字段自增

Firebird - PGSQL 中的串行字段? [复制]

使用 PL/pgSQL 在 PostgreSQL 中将多个字段作为记录返回

pgsql 将字段的属性int改为bigint

如何在 PL/pgSQL 中获取动态生成的字段名称的值

pgsql 将字段的属性int改为bigint