我是亚马逊RDS的新手。我正在尝试创建我的应用程序的表空间,但我找不到我应该将其存储在哪里。
可以在PostgreSQL RDS上创建表空间吗?
发布于 2017-01-12 03:29:51
我没有找到关于这一点的RDS文档,但显然Postgres表空间在RDS上工作得很好。您不能直接访问RDS正在使用的底层EBS卷,但如果您尝试对某个任意目录执行CREATE TABLESPACE命令:
CREATE TABLESPACE testspace LOCATION '/foo/bar/baz';
您可以看到表空间是这样创建的:mydb=> \db List of tablespaces Name | Owner | Location
------------+------------+------------------------------------------- pg_default | rdsadmin | pg_global | rdsadmin | testspace | db_user | /rdsdbdata/db/base/tablespace/foo/bar/baz (3 rows)
您应该能够在该表空间中创建表:mydb=> CREATE TABLE test (a int) TABLESPACE testspace ; CREATE TABLE
发布于 2018-10-31 23:12:02
像日志传送/备用服务器这样的东西在很大程度上依赖于表空间位置。我不会冒险盲目地使用我无法访问和不完全了解的位置(正如Josh建议的那样)
我想我们都不得不承认,尽管我们喜欢亚马逊网络服务,但也有一些地方它们是落后的,特别是对于外部独立产品的SaaS解决方案(RDS、ECS上的Docker orchestration等)。
更新:如果这个post是正确的,那么Postgres的RDS复制确实依赖于流复制,这使得任何对表空间路径的操作都是非常危险的,除非你可以在他们的官方文档中或通过企业支持找到这样的策略总是如你所期望的那样工作。
发布于 2019-05-22 09:29:37
在2019年撰写本文时,RDS支持PostgreSQL表空间,但不支持IO拆分或隔离(因为所有表空间都将在同一个卷上创建)。有关这一功能的亚马逊网络服务文档可以在here上找到。
https://stackoverflow.com/questions/39616672
复制相似问题