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

psql -c 'SELECT version();'psql postgres -c 'SELECT version();'sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQLdebería pasar "el rol 'nombre de usuario' no existe".Creo que esto es lo que estás buscando,
Versión del servidor:
Versión del cliente:
fuente
pg_config --versionpodría ser engañoso, por ejemplo, si actualiza un servidor Ubuntu y no lo ejecutapg_upgradecluster, pg_config mostrará la nueva versión en lugar de la que todavía está usando.pg_config --versionEl comando:psql --versionno funciona, se queja por esto:dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib Referenced from: /usr/local/bin/psql Reason: image not foundUsando CLI:
Versión del servidor:
Si tiene más de una instalación de PostgreSQL, o si recibe el
postgres: command not founderror " ":Si
locateno ayuda, intentefind:Aunque
postmastertambién se puede usar en lugar depostgres,postgreses preferible usarlo porquepostmasteres un alias obsoleto depostgres.Versión del cliente:
Tan relevante, inicie sesión como
postgres.Si tiene más de una instalación de PostgreSQL:
Usando SQL:
Versión del servidor:
Si tienes más curiosidad, prueba
=> SHOW all;.Versión del cliente:
Para lo que vale, se puede ejecutar un comando de shell
psqlpara mostrar la versión del cliente delpsqlejecutable en la ruta. Tenga en cuenta que la ejecuciónpsqlpuede ser potencialmente diferente de la de la ruta.fuente
SHOW server_version;Es muy útil en los scripts para evitar tener que analizar en la larga cadena deSELECT version();.psql postgres -c "SHOW server_version" -t -A.-telimina encabezados,-Aelimina espacios en blanco de alineación.SHOW server_version_numen particular, lo cual es útil para las desigualdades.Si está utilizando CLI y es un
postgresusuario , puede hacer esto:Salida posible :
fuente
La respuesta aceptada es excelente, pero si necesita interactuar mediante programación con la versión PostgreSQL, tal vez sea mejor hacerlo:
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:
Más información aquí y aquí .
fuente
Ejecutar comando
Dónde
V debe estar en mayúscula.
fuente
psqlversión (cliente), no la versión del servidor Postgres .en shell psql.exe, ejecute
fuente
Una manera simple es verificar la versión escribiendo
psql --versionterminalfuente
El uso
pgadmin4se puede ver haciendo doble clic en Servidores> nombre_servidor_aquí> pestaña Propiedades> Versión:Versión 3.5:
Versión 4.1, 4.5:
fuente
El comando pg_config informará el directorio donde están instalados los programas PostgreSQL (--bindir), la ubicación de C incluye archivos (--includedir) y bibliotecas de código de objeto (--libdir), y la versión de PostgreSQL (--version) :
fuente
En mi caso
Espero que ayude a alguien
fuente
Si tiene acceso de shell al servidor (la pregunta menciona que no tiene op, pero en caso de que lo tenga) en un sistema debian / ubuntu
que dará salida a la versión instalada,
donde
Installed: <version>está la versión instalada del paquete postgres.fuente
$ yum listpara ver que se instalaron ciertos paquetes Postgresql.usar
VERSIONvariable especialfuente
No sé qué tan confiable es esto, pero puede obtener dos tokens de versión de forma totalmente automática:
Para que pueda crear rutas a binarios:
Simplemente reemplace 9.2 con este comando.
fuente
psql --versiondevuelve la versión delpsqlcliente, no la versión del servidor PostgresPara la versión actual de PgAdmin: 4.16 en el momento de la escritura.
Ver captura de pantalla a continuación:
fuente
Si
Select version()regresa con Memo, intente usar el comando de esta manera:o
fuente
select version()::varchar(100);funcionó para mí, pero fue lo mismo queversion()