📜  在 linux 上安装 postgres - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:37:23.795000             🧑  作者: Mango

在 Linux 上安装 PostgreSQL 和 C 编程语言

PostgreSQL 是一种高度可扩展和可靠的开源关系型数据库,而 C 编程语言是 Linux 系统中广泛使用的一种系统级编程语言。在本文中,我们将介绍如何在 Linux 系统上安装 PostgreSQL 数据库和使用 C 编程语言来访问它。

安装 PostgreSQL 数据库

首先,我们需要安装 PostgreSQL 数据库。在 Ubuntu 系统上,可以使用以下命令来安装:

sudo apt-get install postgresql postgresql-contrib

在 CentOS 或 Red Hat 系统上,可以使用以下命令:

sudo yum install postgresql-server postgresql-contrib

安装完成后,我们需要启动 PostgreSQL 服务,并配置其自动启动:

sudo systemctl enable postgresql
sudo systemctl start postgresql
配置 PostgreSQL 数据库

在 PostgreSQL 安装完成后,我们需要新建一个数据库和一个用户,并将用户赋予该数据库的访问权限。

新建数据库

使用以下命令创建一个名为 testdb 的新数据库:

sudo -u postgres createdb testdb
新建用户

使用以下命令创建一个名为 testuser 的新用户:

sudo -u postgres createuser testuser
设置用户密码

使用以下命令为 testuser 用户设置密码:

sudo -u postgres psql -c "ALTER USER testuser WITH PASSWORD 'mypassword'"
赋予权限

我们需要将 testuser 用户赋予 testdb 数据库的访问权限。使用以下命令进入 PostgreSQL 命令行界面:

sudo -u postgres psql

执行以下命令为 testuser 赋予权限:

GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser;

接下来,我们可以退出 PostgreSQL 命令行界面:

\q
使用 C 编程语言访问 PostgreSQL

在 Linux 系统中,我们可以使用 libpq 库来连接和操作 PostgreSQL 数据库。我们可以使用以下步骤来编写和编译一个简单的 C 程序,以连接和查询我们刚刚创建的 testdb 数据库。

安装 libpq 库

使用以下命令安装 libpq 库:

sudo apt-get install libpq-dev
编写 C 代码

我们可以使用以下 C 代码来连接和查询 testdb 数据库。将代码保存为 test.c 文件。

#include <stdio.h>
#include <stdlib.h>
#include <libpq-fe.h>

int main() {
    
    // 连接到数据库
    PGconn *conn = PQconnectdb("user=testuser password=mypassword dbname=testdb");

    // 检查连接状态
    if (PQstatus(conn) != CONNECTION_OK) {
        printf("连接到数据库失败");
        PQfinish(conn);
        return -1;
    }

    // 查询数据库
    PGresult *result = PQexec(conn, "SELECT * FROM mytable");

    // 打印查询结果
    if (PQresultStatus(result) == PGRES_TUPLES_OK) {
        int rows = PQntuples(result);
        int cols = PQnfields(result);

        printf("查询到 %d 行记录:\n", rows);

        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < cols; j++) {
                printf("%s\t", PQgetvalue(result, i, j));
            }
            printf("\n");
        }
    } else {
        printf("查询数据库失败");
    }

    // 清理资源
    PQclear(result);
    PQfinish(conn);

    return 0;
}
编译程序

使用以下命令编译程序:

gcc test.c -o test -lpq
运行程序

使用以下命令运行程序:

./test

如果一切顺利,您应该会在控制台上看到查询结果。

总结

在本文中,我们介绍了如何在 Linux 系统上安装 PostgreSQL 数据库和 C 编程语言,并使用 libpq 库连接和查询数据库。希望这篇文章能够帮助您更好地理解和使用 PostgreSQL 数据库和 C 编程语言。