tutorial sirve que para instalar como postgresql

sirve - ¿Qué versión de PostgreSQL estoy ejecutando?



postgresql vs mysql (11)

Estoy en un entorno corporativo (ejecutando Debian Linux) y no lo instalé yo mismo. Accedo a las bases de datos utilizando Navicat o phpPgAdmin (si eso ayuda). Tampoco tengo acceso de shell al servidor que ejecuta la base de datos.


Utilizando CLI:

Versión del servidor:

$ postgres -V # Or --version. Use "locate bin/postgres" if not found. postgres (PostgreSQL) 9.6.1 $ postgres -V | awk ''{print $NF}'' # Last column is version. 9.6.1 $ postgres -V | egrep -o ''[0-9]{1,}/.[0-9]{1,}'' # Major.Minor version 9.6

Si tiene más de una instalación de PostgreSQL, o si obtiene el error " postgres: command not found ":

$ locate bin/postgres | xargs -i xargs -t ''{}'' -V # xargs is intentionally twice. /usr/pgsql-9.3/bin/postgres -V postgres (PostgreSQL) 9.3.5 /usr/pgsql-9.6/bin/postgres -V postgres (PostgreSQL) 9.6.1

Si locate no ayuda, intente find :

$ sudo find / -wholename ''*/bin/postgres'' 2>&- | xargs -i xargs -t ''{}'' -V # xargs is intentionally twice. /usr/pgsql-9.6/bin/postgres -V postgres (PostgreSQL) 9.6.1

Aunque postmaster también se puede usar en lugar de postgres , es preferible usar postgres porque postmaster es un alias en desuso de postgres .

Versión de cliente:

Según corresponda, inicie sesión como postgres .

$ psql -V # Or --version psql (PostgreSQL) 9.6.1

Si tiene más de una instalación de PostgreSQL:

$ locate bin/psql | xargs -i xargs -t ''{}'' -V # xargs is intentionally twice. /usr/bin/psql -V psql (PostgreSQL) 9.3.5 /usr/pgsql-9.2/bin/psql -V psql (PostgreSQL) 9.2.9 /usr/pgsql-9.3/bin/psql -V psql (PostgreSQL) 9.3.5

Utilizando SQL:

Versión del servidor:

=> SELECT version(); version -------------------------------------------------------------------------------------------------------------- PostgreSQL 9.2.9 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4), 64-bit => SHOW server_version; server_version ---------------- 9.2.9 => SHOW server_version_num; server_version_num -------------------- 90209

Si es más curioso, prueba => SHOW all; .

Versión de cliente:

Para lo que vale, se puede ejecutar un comando de shell dentro de psql para mostrar la versión del cliente del ejecutable psql en la ruta. Tenga en cuenta que el psql ejecución puede ser potencialmente diferente del que está en la ruta.

=> /! psql -V psql (PostgreSQL) 9.2.9


Creo que esto es lo que estás buscando,

Versión del servidor:

pg_config --version

Versión de cliente:

psql --version


Ejecuta esta consulta desde PostgreSQL:

SELECT version();


Ejecutar comando

psql -V

Dónde

V debe estar en la capital.


El comando pg_config informará el directorio donde están instalados los programas PostgreSQL (--bindir), la ubicación de C incluye los archivos (--includedir) y las bibliotecas de código de objeto (--libdir), y la versión de PostgreSQL (--version) :

$ pg_config --version PostgreSQL 9.3.6


En mi caso

$psql postgres=# /g postgres=# SELECT version(); version --------------------------------------------------------------------------------------------------------------------- PostgreSQL 8.4.21 on x86_64-pc-linux-gnu, compiled by GCC gcc-4.6.real (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3, 64-bit (1 row)

Espero que ayude a alguien


La respuesta aceptada es excelente, pero si necesita interactuar de manera programática con la versión de PostgreSQL, tal vez sea mejor:

SELECT current_setting(''server_version_num''); -- Returns 90603 (9.6.3) -- Or using SHOW command: SHOW server_version_num; -- Returns 90603 too

Devolverá la versión del servidor como un entero. Así es como se prueba la versión del servidor en la fuente PostgreSQL, por ejemplo:

/* * This is a C code from pg_dump source. * It will do something if PostgreSQL remote version (server) is lower than 9.1.0 */ if (fout->remoteVersion < 90100) /* * Do something... */

Más información here y here .


No sé qué tan confiable es esto, pero puedes obtener dos tokens de versión de forma totalmente automática:

psql --version 2>&1 | tail -1 | awk ''{print $3}'' | sed ''s//./ /g'' | awk ''{print $1 "." $2}''

Para que puedas construir rutas a binarios:

/usr/lib/postgresql/9.2/bin/postgres

Simplemente reemplace 9.2 con este comando.


Si Select version() regresa con Memo, intente usar el comando de esta manera:

Select version::char(100)

o

Select version::varchar(100)


Si tiene acceso de shell al servidor (la pregunta menciona que op no tiene, pero si tiene,) en un sistema debian / ubuntu

sudo apt-cache policy postgresql

que dará salida a la versión instalada,

postgresql: Installed: 9.6+184ubuntu1.1 Candidate: 9.6+184ubuntu1.1 Version table: *** 9.6+184ubuntu1.1 500 500 http://in.archive.ubuntu.com/ubuntu artful-updates/main amd64 Packages 500 http://in.archive.ubuntu.com/ubuntu artful-updates/main i386 Packages 500 http://security.ubuntu.com/ubuntu artful-security/main amd64 Packages 500 http://security.ubuntu.com/ubuntu artful-security/main i386 Packages 100 /var/lib/dpkg/status 9.6+184ubuntu1 500 500 http://in.archive.ubuntu.com/ubuntu artful/main amd64 Packages 500 http://in.archive.ubuntu.com/ubuntu artful/main i386 Packages

donde Installed: <version> es la versión del paquete postgres instalado.


en shell psql.exe, ejecute

/! psql -V