📜  postgres 数据位置 - SQL (1)

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

PostgreSQL 数据位置 - SQL

简介

PostgreSQL 是一种可扩展的关系数据库管理系统,它使用 SQL(结构化查询语言)来处理数据。在使用 PostgreSQL 时,数据可以存储在各种位置,这与存储引擎的概念类似。

数据位置

PostgreSQL 数据可以存储在不同的位置,每个位置都有其自己的优势。

文件系统

传统上,PostgreSQL 数据被存储在文件系统中。在这种情况下,每个数据库都有一个目录,其中包含表空间和数据库文件。通常情况下,目录的位置位于 /var/lib/pgsql/ 下。

/var/lib/pgsql/
|-- data/
    |-- base/
        |-- 1/
        |-- 2/
    |-- global/
    |-- pg_clog/
    |-- pg_dynshmem/
    |-- pg_logical/
    |-- pg_multixact/
    |-- pg_notify/
    |-- pg_replslot/
    |-- pg_serial/
    |-- pg_snapshots/
    |-- pg_stat/
    |-- pg_stat_tmp/
    |-- pg_subtrans/
    |-- pg_tblspc/
    |-- pg_twophase/
    |-- pg_wal/
    |-- PG_VERSION
    |-- postgresql.auto.conf
    |-- postgresql.conf
    |-- postmaster.opts
    |-- postmaster.pid
远程机器

PostgreSQL 还支持将数据存储在远程机器上。在这种情况下,远程机器必须运行 PostgreSQL,而且需要正确配置。

CREATE SERVER myserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '127.0.0.1', port '5432', dbname 'mydb');

CREATE USER MAPPING FOR postgres SERVER myserver OPTIONS (user 'myuser', password 'mypassword');
云存储

以云为存储的 PostgreSQL 数据库,可以使用云商家提供的文件系统存储或者对象存储,如 AWS 的 S3 和 Azure Blob 存储等。

CREATE TABLESPACE mytablespace LOCATION 's3://mybucket/mydirectory';
总结

在 PostgreSQL 中,可以将数据存储在文件系统、远程机器和云存储中。各种不同的存储位置都有其自己的优势和限制,开发者需要根据具体的需求选择合适的存储方案。