AWS RDS PostgreSQL Upgrade from 9.6.22 to 10.17 - postgresql

Good day. I just finished upgrading my AWS RDS database engine from 9.6.22 to 10.17. I used these steps to make the upgrade using the AWS Console:
Create snapshot of target database to upgrade
Restore snapshot
Upgrade the restored snapshot's (which is now a new instance) DB Engine version.
After I did all of this, everything seems fine but when I access the database, this warning message appears
WARNING: psql major version 9.6, server major version 10.
Some psql features might not work.
I did not continue on my testing because I want to know what is the meaning of this first. Because I am fairly new in AWS as a whole. Thanks!

The meaning is that just because you are connecting to an upgraded database on some machine run by Amazon, the PostgreSQL installation on your local machine was not magically updated. psql from version 9.6 doesn't know what metadata tables were changed in v10, what features were removed and so on.
It would be a good idea to install a more recent version of PostgreSQL on your machine. By the way, upgrading to v10 was not the smartest move, as that version will go out of support in less than a year. You should upgrade to the latest version that your service provider offers.

The client program psql you are using to connect to the database is from an older version than the database it is connecting to. Some of the introspection features might not work. For example, psql from 9.6 won't know how to do tab completion for commands that were added to the server after 9.6.
This is generally not a major problem for psql (unless the server wants to use SCRAM authentication), but for optimal experience it would be good to install a newer client. Other tools like pg_dimp might not with at all against a server newer than they are.

Related

Azure Postgres Single server version upgrade

Azure Postgres Single server version is 11. Is it possible to upgrade it to 13+ version using dump and restore as mentioned here:
https://learn.microsoft.com/en-us/azure/postgresql/how-to-upgrade-using-dump-and-restore
It should still remain Single Server.
Yes, you can.
The document you shared is Microsoft's official and therefore there is no doubt that you can upgrade it to any higher version using dump and restore.
Just take care of the below mentioned points:
You can upgrade your PostgreSQL server deployed in Azure Database for PostgreSQL by migrating your databases to a higher major version server using following methods.
Offline method using PostgreSQL pg_dump and pg_restore which incurs downtime for migrating the data.
Online method using Database Migration Service (DMS). This method provides a reduced downtime migration and keeps the target database in-sync with the source and you can choose when to cut-over. However, there are few prerequisites and restrictions to be addressed for using DMS.
The following table provides some recommendations based on database sizes and scenarios.
Choose the right approach based on your database configuration and it should be done without any issue.
To upgrade using pg_dump and pg_restore, you can refer Migrate your PostgreSQL database by using dump and restore.
It is not possible.
In the document, prerequisites states:
A source PostgreSQL database server running a lower version of the
engine that you want to upgrade. A target PostgreSQL database server
with the desired major version Azure Database for PostgreSQL server -
Single Server or Azure Database for PostgreSQL - Flexible Server.
The question asks about upgrading target.

rds is running on postgres 9.6.6 while yum update will cause an update of the installed version to 9.6.8

RDS is running on postgres version of 9.6 while my installed version is 9.3.2 and an yum update changes the postgres version to 9.6.8 while my RDS is running on 9.6.6 . Does this version mismatch is bad or should I Upgrade my server RDS from 9.6.6 to 9.6.8
I've done exactly this and it works fine. As you're updating just the client and the client is backwards compatible (especially at such a minor revision level), it should not hurt. A good rule of thumb is to always do regression testing to make sure, and have a way to roll back. There is no rule that says client and server versions have to be identical, however.

How to fix pg_dump: aborting because of server version mismatch

My codebase and database is hosted on different servers with Ubuntu 12.04.
database => web1
codebase => web2
I am trying to take my database backup (web1) through the application(web2).
Now the problem is I have different versions of postgres installed on web1 and web2.
pg_dump: server version: 9.3.12 (web1)
pg_dump version: 9.1.23 (web2)
Is there any way I can resolve this issue without upgrading any package because there are multiple applications hosted and relying on these versions.
Thanks for helping!
pg_dump will refuse to connect to a server with a later version than itself for the good reason that it cannot guarantee that it will work.
Downgrading a database from 9.3 to 9.1 is definitely not supported, particularly since version 9.1 is out of support.
You'll have to use pg_dump from the 9.3 installation to dump the database, then you can try to load the result into the 9.1 database. Watch out for errors during restore and test well!
If you are using a SQL Client like Dbeaver and have more than one version of Postgres, remember to change the client version in the option. I was getting this error while using the Dbeaver's backup tool.

sonarqube 4 server migration

I'm trying to move a sonarqube 4.4 installation from one machine to another. What's more we would also like to change the database server from Oracle to Postgres 9.3.
What my plan was initially is that I would shutdown the sonar server, the database adminstrator would dump existing database, migrate it to postgres in the new server and I would zip the existing server installation and move it along to the new server. Then I would start the server.
However I've run into problems, even though sonarqube 4.4 booted fine, when I hit
http://new-server:9001/sonar4
I was getting a 404 response from sonar.
At some point I tried unzipping the server file anew in which case I managed to see the projects and the dashboards but no analysis data existed, even though last analysis time was available.
Any ideas or clues what am I missing?
Also, the driver in sonarqube for postgres is 9.1.xxx can I update this or should we use postgres 9.1 to make sure the driver is compatible with the database?
How is your ..\conf\sonar.properties? Normally, you should have changed:
sonar.jdbc.url=jdbc:oracle:thin:#localhost/XE
Did you use some tool to migrate Oracle to Postgress? I thought it was not possible.
Do not hesitate to ask for further precision.
Regards.

Migrating Postgresql 9.1 to 9.2 from an old server to a new server

In my old server, Postgresql 9.1 is installed and it contains a large scale of data. Now, I have got a new server and installed the latest version of Postgresql which is 9.2. I want to migrate the whole data from the old server to the new server. I looked at Postgresql documentation and there is a command to upgrade but it seems to explain upgrading in the same server. How could I approach for this matter?
I would be very careful about changing both hardware and major versions of PostgreSQL at the same time. If something goes wrong, it will greatly complicate figuring out what the problem is.
I do this as a two step process, first restore the database to the new server as the same version, then run pg_upgrade. That means you have to have both versions of the software installed on the new server simultaneously.
Dump the database with pg_dump and load it at the new server with psql. I think pg_upgrade is better as an in place procedure.