PostgreSQL“提供”PHP 是什么意思?

use*_*195 8 postgresql php

在https://www.enterprisedb.com/downloads/postgres-postgresql-downloads上:

PostgreSQL 可在所有主要操作系统上运行,包括 Linux、UNIX(AIX、BSD、HP-UX、macOS、Solaris)和 Windows。它提供以下编程语言:PL/pgSQL、PL/SQL、Java、Python、Ruby、C/C+、PHP、Perl、Tcl、Scheme。Postgres 还提供以下库接口:OCI、libpq、JDBC、ODBC、.NET、Perl、Python、Ruby、C/C+、PHP、Lisp、Scheme 和 Qt。

我使用 PHP 和 PostgreSQL。我使用 PHP 扩展发送和接收数据pg_*,该扩展使用 libpq。我这样做已经有二十年了。

在列出“库接口”之前,PostgreSQL“提供”PHP 是什么意思?在“库接口”列表中,它再次令人困惑地列出了 PHP...

我错过了一些基本的东西吗?PostgreSQL 是否允许我将 PHP 语法混合到 SQL 查询或类似的疯狂的东西中?

dwh*_*emv 9

语言扩展允许您用其他编程语言编写用户定义的函数。大多数人都知道 SQL 和 PL/pgSQL,但 Postgres 还附带了 Perl、Python 和 Tcl 的扩展。这里是Postgres文档中对过程语言的介绍。您无法完全“混合”语法,但您可以在 Python 中编写复杂的分析函数,并使用简单的SELECT.

一些快速谷歌搜索发现第三方已经为 PHP 和 Java 制作了语言扩展,所以我猜测 EDB 的营销团队采用了这些扩展并使用它们。PL/PHP 已经有十多年没有更新了,并且 PL/Java 是 EDB 自己在其服务器的早期版本上提供的,因此请对这些声明持保留态度。

“库接口”指的是通常所说的驱动程序。这些驱动程序提供从编程语言到 Postgres 服务器的连接和服务。您熟悉pgsqlPHP 中的驱动程序,这相当简单;psycopg2将其与Python 驱动程序提供的功能进行比较,后者提供特定于类型的转换以及与本机 Python 对象的绑定。