我正在尝试将我的RDS实例从9.5.4升级到9.6.1,并且我因为需要首先升级的PostGIS版本的错误而被阻止.
数据库实例处于无法升级的状态:PreUpgrade检查失败:无法升级实例,因为有一个或多个数据库安装了旧版本的PostGIS.请升级PostGIS的所有安装,然后重试.
RDS 9.5.4支持的PostGIS的最高版本是2.2.2
alter extension postgis update
产量
注意:已经安装了扩展名为"postgis"的版本"2.2.2"
我尝试明确升级到9.6.1中的版本
将扩展postgis更新为'2.3.0'
入门
[错误]错误:扩展名"postgis"没有从版本"2.2.2"到版本"2.3.0"的更新路径
所以我的问题是:我该如何升级?我怀疑我可以在升级之前删除扩展并在之后安装新版本,但我不知道这将对我的数据做什么,或者是否能正确升级我的空间结构或功能.
我已经检查了文档中提到的这种情况
我用角度js创建了一个电子商务网站.我需要在亚马逊网络服务中托管相同的内容.
所以为了主持相同的我首先创建了一个ec2实例.之后,通过允许所有ip作为出站和入站,添加了一个带有VPC安全组的rds实例.在创建我为mysql和所有连接指定的安全组时.在我远程进入实例并尝试使用rds实例连接到终点之后
mysql -u username -p password -h ********.ap-southeast-1.rds.amazonaws.com:3306
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
ERROR 2005 (HY000): Unknown MySQL server host xxxxxxxxx (0)
Run Code Online (Sandbox Code Playgroud)
我从亚太地区(新加坡)地区创建了这个实例,因为我是印度居民.
我被 AWS 配置难住了。我的目标是创建一个可以从网络内部和外部访问的数据库。
这是我所拥有的。RDS 实例运行 postgresql。来自 VPC 内部的连接正常工作。
端点设置为可公开访问 - 当从外部访问时,实际上会解析。但是,连接挂起,表明有人阻止了流量。
安全组很好:
入站:端口 5432 来自 0.0.0.0/0 出站:所有来自 0.0.0.0/0
子网。我想那是哪里出了问题,对吧?起初,我在子网组中有两个私有子网和两个公共子网。为简化起见,我在不改变结果的情况下删除了私有的。
所以我们有两个公共子网:
两者都具有与 Internet 网关相同的路由表
据我所知,一切正常……那么谁在阻止我的数据库连接?
我在Elastic Beanstalk实例上设置了CodeIgniter PHP应用程序.我正在尝试将其连接到我设置的RDS MySQL实例,但加载Elastic Beanstalk站点URL总是导致页面超时连接.我已经将问题缩小到无法连接到数据库.
我认为我已正确设置我的安全组以允许Elastic Beanstalk EC2实例与RDS通信,但由于页面仍未加载,因此必须出错.
我在下面列出了RDS和Elastic Beanstalk使用的安全组的入站/出站规则的屏幕截图,以及我附加到Elastic Beanstalk实例的安全组的屏幕截图.
关于为什么我的Elastic Beanstalk应用程序无法与我的RDS实例通信的任何想法?
编辑:RDS实例和Elastic Beanstalk实例位于同一安全组中.
我是API网关的新手,到目前为止我尝试的是一个非常强大的工具.对于我现在正在工作的项目,我们在RDS中使用PostgreSQL实例.我已经看到可以从API网关直接访问DynamoDB表,所以我想知道是否有办法为关系数据库这样做.所以我使用GET方法创建了一个资源并将其配置为连接到我的数据库,但我不确定我是否使用了正确的参数:
所以我不确定每个设置字段中的参数.在AWS子域中,我编写了公共URL,就像我从我的pgAdmin客户端连接我一样(没有端口导致完整的结构未被接受,所以我知道我做的事情很糟糕).在此之前,我尝试使用我的RDS资源的ARN,但出现了此错误:
AWS ARN for integration must contains path or action
Run Code Online (Sandbox Code Playgroud)
对于执行角色,我使用策略创建了一个访问Postgres资源的角色.
阅读RDS文档我发现可以使用HTTP动词GET或POST以及名为Action的Query参数从RDS使用查询API,因此我试图弄清楚如何以这种方式放置查询语句:
但是当我测试方法时,这就是响应主体:
{
"message": "AWS ARN for integration contains invalid action"
}
Run Code Online (Sandbox Code Playgroud)
这就是日志:
Execution log for request test-request
Sat Mar 19 15:27:17 UTC 2016 : Execution failed: AWS ARN for integration contains invalid action
Sat Mar 19 15:27:17 UTC 2016 : Method completed with status: 400
Run Code Online (Sandbox Code Playgroud)
我知道我做了很多错事,所以有人知道这是否真的可行以及怎么做,因为我还没有找到任何详细的教程.
我正在尝试从lambda连接到我的RDS实例.我在本地写了lambda并在本地测试,一切都很好用.我部署到lambda,突然它不起作用.下面是我正在运行的代码,如果有帮助,我将通过kinesis流调用lambda.
'use strict';
exports.handler = (event, context, handlerCallback) => {
console.log('Recieved request for kinesis events!');
console.log(event);
console.log(context);
const connectionDetails = {
host: RDS_HOST,
port: 5432,
database: RDS_DATABASE,
user: RDS_USER,
password: RDS_PASSWORD
};
const db = require('pg-promise')({promiseLib: require('bluebird')})(connectionDetails);
db
.tx(function () {
console.log('Beginning query');
return this.query("SELECT 'foobar'")
.then(console.log)
.catch(console.log)
.finally(console.log);
})
.finally(() => handlerCallback());
};
Run Code Online (Sandbox Code Playgroud)
以下是来自云监视的日志,如果它有帮助:
START RequestId: *********-****-****-****-********* Version: $LATEST
2016-05-31T20:58:25.086Z *********-****-****-****-********* Recieved request for kinesis events!
2016-05-31T20:58:25.087Z *********-****-****-****-********* { Records: [ { kinesis: [Object], eventSource: 'aws:kinesis', eventVersion: '1.0', eventID: …Run Code Online (Sandbox Code Playgroud) javascript amazon-web-services amazon-rds amazon-kinesis aws-lambda
所以这对我来说真的很新鲜,所以如果这是一个愚蠢的问题,我很抱歉。
我有一个不可公开访问的 RDS 实例,并且位于其自己的私有 VPC 中。我有一个允许连接到 RDS 的 EC2 实例,但不允许其他任何东西连接到该实例。
我现在希望 PgAdmin 能够显示来自我的 RDS 实例的数据。
我完成了 PgAdmin 中的向导,输入了 EC2 实例的公共 IP 作为隧道主机,用户名是ec2-user,身份验证是通过身份文件进行的(使用我用来 ssh 进入实例的 pem 文件)。
但是,我仍然无法连接。在“高级”选项卡中,PGAdmin 要求提供主机地址,但当我输入 RDS 实例的端点时会发出抱怨。
我如何让我的本地 pgAdmin 现在访问我的数据库,该数据库不再可以通过公共互联网访问?
---忘记添加错误信息
Unable to connect to server:
Failed to create the SSH tunnel.
Error: Could not establish session to SSH gateway
Run Code Online (Sandbox Code Playgroud) 据我所知,当从单可用区升级到多可用区时,会出现"breef i/o freeze".这到底是什么意思呢?
当对多可用区部署进行升级时,例如从小到大,生产数据库是否会受到影响?是否可以使用备份数据库,然后进行故障转移?
可以在RDS或S3中运行pg_dump(不使用像ec2这样的中介来执行命令)
postgresql amazon-s3 amazon-ec2 amazon-web-services amazon-rds
amazon-rds ×10
amazon-ec2 ×4
postgresql ×4
mysql ×2
amazon-s3 ×1
amazon-vpc ×1
aws-lambda ×1
javascript ×1
pgadmin ×1
postgis ×1
scalability ×1