Postgres.app 是打包为标准 Mac 应用程序的全功能 PostgreSQL 安装程序。它包括您开始使用所需的一切:我们甚至还包含了流行的扩展,如用于地理数据的 PostGIS 和用于 JavaScript 的 plv8。 Postgres.app 有一个漂亮的用户界面和一个方便的菜单栏项。你永远不需要触摸命令行来使用它——当然,我们确实为高级用户提供了所有必要的命令行工具和头文件。如果您不将 Postgres.app 移动到 Applications 文件夹,您将看到有关身份不明的开发人员的警告,并且无法打开它。完毕!你现在有一个 PostgreSQL 服务器在你的 Mac 上运行,使用这些默认设置: 要连接 psql,双击一个数据库。要直接从命令行连接,请键入 psql。如果您更愿意使用图形客户端,请参见下文。注意:这些说明假设您之前从未在 Mac 上安装过 PostgreSQL。如果您之前使用 Homebrew、MacPorts、EnterpriseDB 安装程序安装了 PostgreSQL,请考虑先删除其他 PostgreSQL 安装。我们也有从旧版本 Postgres 升级的说明。应用程序。 Postgres.app 包括 psql,一个用于 PostgreSQL 的多功能命令行客户端。但这不是唯一的选择; PostgreSQL 有很多很棒的图形客户端可用。两个流行的工具是:
pgAdmin 4 是一个功能丰富的开源 PostgreSQL 客户端。它几乎支持 PostgreSQL 中的所有功能。唯一的缺点是跨平台 UI 确实不符合原生 Mac 应用程序的期望。另一方面,Postico 是一个非常现代的 Mac 应用程序。它由维护 Postgres.app 的同一个人制作,我们认为您会喜欢它!我们付出了很多努力使它成为一种使用乐趣。但是,它没有 pgAdmin 的广泛功能集,并且它是一个商业应用程序而不是开源应用程序。除了这两个选项,还有很多选择!查看文档以获取 PostgreSQL 令人惊叹的 Mac 应用程序列表。在 PostgreSQL 服务器启动并运行后,您可能希望从应用程序连接到它。以下是从流行的编程语言和框架连接到 PostgreSQL 的方法: 要从 PHP 连接,请确保它支持 PostgreSQL。 macOS 附带的版本不支持 PostgreSQL。我们推荐使用 MAMP 来轻松安装当前可用的 PHP 版本。 <?php$db = new PDO('pgsql:host=localhost');$statement = $db->prepare("SELECT datname FROM pg_database");$statement->execute();while ($row = $statement ->fetch()) { echo "<p>" . htmlspecialchars($row["datname"]) 。 "</p>\n";}?> <?php$conn = pg_connect("host=localhost");$result = pg_query($conn, "SELECT datname FROM pg_database");while ($row = pg_fetch_row( $result)) { echo "<p>" 。 htmlspecialchars($row[0]) 。 "</p>\n";}?>
DATABASES = { "default": { "ENGINE": "django.db.backends.postgresql_psycopg2", "NAME": "[YOUR_DATABASE_NAME]", "USER": "[YOUR_USER_NAME]", "PASSWORD": "", " HOST": "localhost", "PORT": "", }} 要安装 pg gem,请确保正确设置了 $PATH(请参阅命令行工具),然后执行以下命令:libpq 是本机用于连接 PostgreSQL 的 C 客户端库。它真的很容易使用:#include <libpq-fe.h>int main() { PGconn *conn = PQconnectdb("postgresql://localhost"); if (PQstatus(conn) == CONNECTION_OK) { PGresult *result = PQexec(conn, "SELECT datname FROM pg_database"); for (int i = 0; i < PQntuples(result); i++) { char *value = PQgetvalue(result, i, 0); if (value) printf("%s\n", value); PQclear(结果); } PQfinish(conn);} 你可以在 Swift 中使用 C API!首先在桥接头中包含 libpq:在 macOS 上,您可以使用系统提供的 libpq(不支持 SSL)或通过添加以下构建设置使用 Postgres.app 提供的 libpq: let conn = PQconnectdb("postgresql://localhost" .cString(using: .utf8))if PQstatus(conn) == CONNECTION_OK { let result = PQexec(conn, "SELECT datname FROM pg_database WHERE datalllowconn") for i in 0 ..< PQntuples(result) { guard let value = PQgetvalue(result, i, 0) else { continue } let dbname = String(cString: value) print(dbname) } PQclear(result)}PQfinish(conn)
如果您有 Postgres.app 文档未回答的有关 Postgres.app 的问题,您可以在 Twitter 上询问@PostgresApp,或在 GitHub 上打开一个问题。报告错误时,请告诉我们您使用的是哪个 Postgres.app 和 macOS 版本,并确保包含详细的错误消息,即使您的问题看起来与另一个类似。 Postgres.app、PostgreSQL 及其扩展在 PostgreSQL 许可下发布。发布的二进制文件还包括 OpenSSL(OpenSSL 许可证)、PostGIS(GPLv2)和 plv8(3 条款 BSD)。