Hello, You can probably do something like this:
import sys from django.db import connection with connection.cursor() as cursor: cursor.execute("SELECT version()") result = cursor.fetchone()[0] sys.stdout.write(result + '\n') This prints out something like "PostgreSQL 9.4.12 on x86_64-unknown-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit". The "SELECT version()" is a PostgreSQL-specific way of getting the server version. The rest is Django's way of executing raw SQL queries <https://docs.djangoproject.com/en/1.11/topics/db/sql/#executing-custom-sql-directly>. Regards, Antonis Antonis Christofides http://djangodeployment.com On 2017-07-19 13:14, Hanne Moa wrote: > When https://code.djangoproject.com/ticket/18332 lands (No generic way > to get database backend version) this will be trivial but I need a > solution for this now: How can I find out which version of postgres is > in use? > > I need it thanks to JSONField. 9.6 has support for it but older > postgresqls don't, and I'd like to then use a third-party > json-in-TextField solution instead. > > A model with a django.contrib.postgres.fields.JSONField cannot be > migrated on posgresqls older than 9.4. (We run 9.3 and I need this > project to run on >=9.3) You get 'django.db.utils.ProgrammingError: > type "jsonb" does not exist'. At that point it's a little late > swapping out the import. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/06844f40-13ea-6345-eb01-fddf1421fd3f%40djangodeployment.com. For more options, visit https://groups.google.com/d/optout.