📅  最后修改于: 2023-12-03 15:03:48.951000             🧑  作者: Mango
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 中,可以将数据存储在文件系统、远程机器和云存储中。各种不同的存储位置都有其自己的优势和限制,开发者需要根据具体的需求选择合适的存储方案。