I have a AWS PostgreSQL RDS instance. I want to create mysql_fdw extension to communicate to MySQL RDS. When I try to create this extension, I am getting the following error
ERROR: Extension "mysql_fdw" is not supported by Amazon RDS
DETAIL: Installing the extension "mysql_fdw" failed, because it is not on the list of extensions supported by Amazon RDS.
HINT: Amazon RDS allows users with rds_superuser role to install supported extensions. See: SHOW rds.extensions;*
Is there any way to create this extension in AWS RDS?
Available extensions are listed be the below and are specific to Postresql version.
No version currently has mysql_fdw
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#CHAP_PostgreSQL.Extensions.log_fdw
Per the below, you cannot add your own Extensions to RDS
https://dba.stackexchange.com/questions/111477/amazon-rds-postgresql-adding-new-extensions
Might be specifically because you need MySQL's C client library.
Not going to be able to do this
Would require have super user access to underlying VM which would be a huge risk for AWS
Related
I am creating a function in Amazon RDS and it is giving below error:
Extension "plpgsql_check" is not supported by Amazon RDS.
When i check the amzon documentation, plpgsql_check is not there in the list of allowed extensions https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html
Is there any work around for this extension which we can add in Amazon RDS ?
I'm using Postgres v12.8 on AWS RDS. Installng TSVECTOR I get the error:
SQL Error [22023]: ERROR: Extension "tsvector" is not supported by Amazon RDS
Detail: Installing the extension "tsvector" failed, because it is not on the list of extensions supported by Amazon RDS.
Hint: Amazon RDS allows users with rds_superuser role to install supported extensions. See: SHOW rds.extensions;
The reason is because AWS RDS Postgres doesn't support the Extension:
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.Extensions
And it doesn't look like AWS RDS are going to add it: https://dba.stackexchange.com/a/111481/9328
So I have two questions,
Was TSVECTOR supported in the past in v9 (as per On AWS RDS Postgres, how to have dictionaries and unaccented full-text search?)?
If that's the case what are these people doing now as AWS have warned for over a year they would automatically upgrade v9 Postgres db's on the 18th Jan 2022?
What can I use to achieve Full Text Search in Postgres RDS? I don't want to have to spin up an EC2 or a Container for access to install TSVECTOR, surely there must be an alternative?
The documentation says RDS Postgres supports Full Text Search: https://aws.amazon.com/rds/postgresql/features/
Full Text Search Dictionaries – PostgreSQL supports Full Text Searching that provides the capability to identify natural-language documents that satisfy a query, and optionally to sort them by relevance to the query.
Perhaps Amazon did something strange, but in PostgreSQL there is no tsvector extension. tsvector is a built-in data type, and you don't have to install any extensions to use full-text search.
I want to understand AWS Relational Database Service (RDS) and discover benefits from using it.
Why RDS is better than manually installed PostgreSQL database in EC2 instance?
Is it possible to connent existing database in EC2 instance with Amazon RDS?
How it really works?
How I should automation RDS?
When I want create new database in existing EC2 instance I can use Ansible in simply way. How I should connect my application with database which uses RDS ?
Thanks in advance!
I want to understand AWS Relational Database Service (RDS) and discover benefits from using it.
As already commented, read the docs and whitepapers.
Why RDS is better than manually installed PostgreSQL database in EC2 instance?
you can be sure it is well setup, you will get point in time recovery, backups and high availability. As well you can set it up yourself, however using RDS you have it all already configured.
Ifs it possible to connent existing database in EC2 instance with Amazon RDS? How it really works?
you don't have access to any underlying configuration, so nope, you cannot really connect ec2 database w/ rds (e. g. wal for wal streaming).
you still can use database migration tools to migrate all databases and updates to or from rds
How I should automation RDS? When I want create new database in existing EC2 instance I can use Ansible in simply way.
you can use a cloudformation template or cli commands
How I should connect my application with database which uses RDS ?
when you create a rds instance, you will define an admin user and receive a connection url
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Scenarios.html#USER_VPC.Scenario1
Running create extension redis_fdw gives below error. Currently is there any alternative way to create foreign data wrapper for redis and achieve similar goals as this project on RDS ?
Extension "redis_fdw" is not supported by Amazon RDS
redis-fdw extension need it's native c libs installed on your servers, this is not allowed on amazon rds, you should use this in amazon ecs server, install postgresql and redis-fdw by yourself
can I migrate from AWS RDS to standalone Postgres instance using AWS DMS?
I RTFM, but It does not state anywhere clearly If I can or not. In theory migration should be the same - create supporting scheme in RDS and move on. But have anyone done it?
Well, from AWS DMS manual:
AWS Database Migration Service (AWS DMS) can migrate your data to and from most widely used commercial and open-source databases such as Oracle, PostgreSQL, Microsoft SQL Server, Amazon Redshift, Amazon Aurora, MariaDB, and MySQL. The service supports homogeneous migrations such as Oracle to Oracle, and also heterogeneous migrations between different database platforms, such as Oracle to MySQL or MySQL to Amazon Aurora. The source or target database must be on an AWS service.
In your case the source is on an AWS service, and if by "standalone" you mean a PostgreSQL instance on EC2 machine, then your target is as well. So, based on that, then answer should be "yes".
Yes, that is possible. We have moved data from RDS Postgres to Postgres Installed on EC2 Instance using DMS and works great so far. Make sure to create endpoints for the source/target and create a replication instance and you are good to go