小编Bas*_*que的帖子

如何在 CLI 提示中显示 Postgres 版本?

我希望在命令行(控制台)界面提示中显示我连接到的服务器的版本。从我在文档中读到的内容来看,可以执行 shell 命令,可以显示 psql 变量值。

这个想法是在连接上获取服务器的版本信息并在客户端的提示中使用它。我如何(在.psqlrc文件中?)在 psql 变量中分配服务器版本?

编辑:杰克道格拉斯?通过指出该\gset功能有正确的答案。结果是

show server_version
\gset
\set PROMPT1 '%:server_version: >'
Run Code Online (Sandbox Code Playgroud)

谢谢你。

postgresql client

8
推荐指数
1
解决办法
622
查看次数

如何判断 Postgres 是否是在构建时包含用于 JIT 的 LLVM 技术的选项?

Postgres 11 获得了基于LLVM技术执行即时编译 (JIT) 的能力

\n\n

手册指出,此功能取决于使用该选项构建的 Postgres --with-llvm

\n\n

\xe2\x9e\xa5 如何验证他们的 Postgres 版本是否包含 LLVM?

\n\n

假设安装了 LLVM\xe2\x80\xa6 在 Postgres 11 中,默认情况下禁用 JIT。在 Postgres 12 中,启用了该功能。这就提出了一个问题:

\n\n

\xe2\x9e\xa5 如何判断 JIT 当前是启用还是禁用?

\n

postgresql jit

8
推荐指数
1
解决办法
2090
查看次数

当主键也是外键时,在 Postgres

在 Postgres 12 中,我正在跟踪照片。每个都很大,每个大约 6 到 8 兆。为了快速浏览,我将与完整图像一起存储缩略图。full 和thumbnail 都是 BYTEA 类型的列。

为了性能,我想避免在只需要缩略图时加载完整图像。据我了解,访问一行时,所有 BYTEA 字段值都将加载到内存中。因此,即使在查询中没有明确请求,向用户显示缩略图列表也必然会在服务器上加载完整的照片。

因此,我将把照片表分成两部分,将缩略图存储在主表中,并将缩略图存储在单独的子表中,以一对一的方式。

在这种情况下,子全图表携带其父缩略图行的 ID 作为外键。该外键列在逻辑上也可以用作主键。

我可以指定子项的一列既是外键又是主键吗?如果是这样,是否有任何需要注意的注意事项?

postgresql foreign-key primary-key

8
推荐指数
1
解决办法
5956
查看次数

在 Postgres 表和列上跟踪我自己的自定义元数据

有什么方法可以将我自己的元数据添加到Postgres 中的表和列中,例如短文本的键值对?

我正在从另一个数据库系统迁移表、列和数据。另一个系统具有在 Postgres 不匹配的表和列上定义的属性。例如,在其他数据库系统中,可以为每个表分配一种颜色,用于数据库结构的图形显示,例如CUSTOMER_表为绿色,INVOICE_表为红色。

所以我想要一种方法来跟踪我的 Postgres 数据库中的这些属性设置,这样我的 Java 应用程序就可以通过 JDBC 查询自定义元数据。

SET attribute ?

我注意到:

ALTER TABLE … SET ( attribute_option = value [, ... ] )
Run Code Online (Sandbox Code Playgroud)

…和…

ALTER TABLE … ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] )
Run Code Online (Sandbox Code Playgroud)

的文档ALTER TABLE并没有真正解释这些属性的作用。我可以创建自己的属性名称以用作映射到我自己的元数据值的键吗?

或者是否有其他方法可以让 Postgres 记住我自己的自定义元数据?

Comment

我想一种解决方法可能是将键值对作为文本嵌入每个表和列上的COMMENT属性。看起来有点像黑客,有点乱,因为我经常使用 COMMENT 将业务规则记录为散文。但我想它会起作用。有没有更好的方法来记住每表和每列的属性?

Extended Properties Microsoft SQL Server 的

显然,MS SQL Server 为此类元数据提供了“扩展属性”功能。说明这里对堆栈溢出,并在这里对微软文档 …

postgresql metadata postgresql-9.6

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

如何列出 postgreSQL 中可用的所有可用编码类型?

SELECT datname, pg_encoding_to_char(encoding) 
FROM pg_database;
Run Code Online (Sandbox Code Playgroud)

...列出所有数据库,每个数据库都有其编码类型。

但是,我试图找出PostgreSQL 服务器中可用的所有编码类型。我可以查询所有可用的编码类型吗?

还是在第 23.3 章字符集支持中列出了唯一可用的编码类型?

postgresql character-set encoding unicode

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

查看 pgAdmin 中冗长文本字段中的整个字符串?

使用pgAdmin,当值很长时,如何查看行的整个字符串值?

例如,该值可能是包含数百或数千个字符的逗号分隔值 (CSV)内容。此外,该值可能包含换行符。

在 pgAdmin 的 SQL 工具中进行查询时,结果窗格只显示几十个字符,然后禁止显示更多字符。有没有办法查看所有文本值?

有什么方法可以将查询结果导出到文本文件或文本窗口?

postgresql pgadmin

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

在 Postgres 10 中将 ICU 排序规则指定为 `ENCODING`、`LC_COLLATE` 和 `LC_CTYPE`

Postgres 10 获得了使用国际组件进行 Unicode (ICU)排序的能力,而不是依赖于主机操作系统的实现。请参阅Peter Eisentraut在 PostgreSQL 10 中使用 ICU 支持的更强大的排序规则。

那么在创建数据库时究竟如何指定 ICU 排序规则呢?

我确实在CREATE DATABASEto use 中阅读了一个提示,template0而不是template1iftemplate1可能是使用编码和整理而不是您想要的新数据库创建的。并且在使用时template0,您需要启用数据连接以覆盖默认值。

我在 Postgres 10 doc page for Collat​​ion Support中读到:

und-x-icu(用于“未定义”)

ICU“根”整理。使用它来获得合理的与语言无关的排序顺序。

因此,und-x-icu在建立包含多语言文本的新数据库时,这似乎是一个很好的使用价值。当已知某种语言专注于特定语言时,该SELECT命令可以指定另一种排序规则,例如 German de-x-icu。否则,回退到默认值und-x-icu

所以我尝试了以下 SQL 在 Postgres 10 Beta 2 中创建一个数据库。

CREATE DATABASE timepiece_
TEMPLATE 'template0'
ALLOW_CONNECTIONS TRUE
CONNECTION LIMIT -1
ENCODING 'UTF8'
LC_COLLATE 'und-x-icu'
LC_CTYPE 'und-x-icu'
;
Run Code Online (Sandbox Code Playgroud)

失败并出现错误:

[42809] …

postgresql collation postgresql-10 international-components-unicode

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

在 macOS 上卸载 Postgres 10 – EnterpriseDB 安装程序

标题说明了一切……如何从 macOS 计算机中完全删除 Postgres 集群?

我用提供的安装应用程序通过EnterpriseDB公司为尊重社会。

此卸载问题已在 Stack Overflow 上被多次询问。但这些问题和答案已经过时多年。

postgresql mac-os-x postgresql-10

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

Microsoft SQL Server 是否提供像 Postgres 那样的咨询锁功能?

在 Postgres 中,Advisory Locks特性提供了在数据库服务器中集中管理的任意应用程序定义的锁。这些锁与表或行等无关。

Microsoft SQL Server 是否提供类似这些建议锁的功能?

sql-server locking

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

使用 TIME WITH TIME ZONE 的有效用例是什么?

沿着这个相关问题的思路:

是否有任何有效的实际使用用例 TIME WITH TIME ZONE或应该将其视为反模式?

需要明确的是:我问的是TIME…,而不是TIMESTAMP…

postgresql database-design datatypes timezone time

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