我是Amazon RDS的新手。我试图为我的应用程序创建表空间,但我找不到存储它的位置。可以在PostgreSQL RDS中创建表空间吗?
pod7payv1#
我没有找到关于这一点的RDS文档,但显然Postgres表空间在RDS上工作得很好。你不能直接访问RDS正在使用的底层EBS卷,但如果你在某个任意目录下尝试CREATE TABLESPACE命令:第一个月您可以看到这样创建的对象: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
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
rjjhvcjd2#
在2019年撰写本文时,RDS确实支持PostgreSQL表空间,尽管不支持IO拆分或隔离(因为所有表空间都将在同一卷上创建)。有关此功能的AWS文档可以在此处找到。
8yparm6h3#
像日志传送/备用服务器这样的东西很大程度上依赖于网络位置。我不会冒这个险,盲目地使用一个我无法访问的位置,也不完全知道(就像Josh建议的那样)我想我们都必须承认,尽管我们喜欢AWS服务,但它们在某些方面仍然落后,特别是在外部/独立产品的SaaS解决方案(RDS,ECS上的Docker编排等)方面。
**更新:**如果这个post是正确的,那么Postgres的RDS复制确实依赖于流式复制,这使得任何对数据路径的操作都非常危险,除非你可以在他们的官方文档中找到它,或者通过企业支持,这样的策略总是会像你期望的那样工作。
3条答案
按热度按时间pod7payv1#
我没有找到关于这一点的RDS文档,但显然Postgres表空间在RDS上工作得很好。你不能直接访问RDS正在使用的底层EBS卷,但如果你在某个任意目录下尝试CREATE TABLESPACE命令:
第一个月
您可以看到这样创建的对象:
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
rjjhvcjd2#
在2019年撰写本文时,RDS确实支持PostgreSQL表空间,尽管不支持IO拆分或隔离(因为所有表空间都将在同一卷上创建)。有关此功能的AWS文档可以在此处找到。
8yparm6h3#
像日志传送/备用服务器这样的东西很大程度上依赖于网络位置。我不会冒这个险,盲目地使用一个我无法访问的位置,也不完全知道(就像Josh建议的那样)
我想我们都必须承认,尽管我们喜欢AWS服务,但它们在某些方面仍然落后,特别是在外部/独立产品的SaaS解决方案(RDS,ECS上的Docker编排等)方面。
**更新:**如果这个post是正确的,那么Postgres的RDS复制确实依赖于流式复制,这使得任何对数据路径的操作都非常危险,除非你可以在他们的官方文档中找到它,或者通过企业支持,这样的策略总是会像你期望的那样工作。