Comando "usar nombre de base de datos" en PostgreSQL
Soy principiante en PostgreSQL.
Quiero conectarme a otra base de datos desde el editor de consultas de Postgres, como el comando USE
de MySQL o MS SQL Server.
Encontré \c databasename
buscando en Internet, pero solo se ejecuta en psql. Cuando lo pruebo desde el editor de consultas PostgreSQL obtengo un error de sintaxis.
Tengo que cambiar la base de datos mediante pgscripting. ¿Alguien sabe cómo hacerlo?
5 answers
Cuando se obtiene una conexión a PostgreSQL
es siempre a una base de datos en particular. Para acceder a una base de datos diferente, debe obtener una nueva conexión.
Usando \c
en psql cierra la conexión antigua y adquiere una nueva, usando la base de datos y/o credenciales especificadas. Usted consigue un nuevo proceso de back-end y todo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-05 04:42:09
Debe especificar la base de datos a usar en connect; si desea usar psql para su script, puede usar "\c name_database"
user_name=# CREATE DATABASE testdatabase;
user_name=# \c testdatabase
En este punto, es posible que vea la siguiente salida
You are now connected to database "testdatabase" as user "user_name".
testdatabase=#
Observe cómo cambia el mensaje. Saludos, he estado buscando esto también, muy poca información sobre PostgreSQL en comparación con MySQL y el resto en mi opinión.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-09 13:48:44
En pgAdmin también puede usar
ESTABLECE search_path A tu_db_name;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-07 15:36:30
El problema básico al migrar desde MySQL que enfrenté fue, pensé que el término database
sería el mismo en PostgreSQL también, pero no lo es. Así que si vamos a cambiar la base de datos desde nuestra aplicación o pgAdmin
, el resultado no sería el esperado.
Como en mi caso, tenemos esquemas separados (considerando la terminología de PostgreSQL aquí.) para cada cliente y esquema de administración separado. Así que en la aplicación, tengo que cambiar entre esquemas.
Para esto, podemos usar el comando SET search_path
. Esto cambia el esquema actual al nombre de esquema especificado para la sesión actual.
Ejemplo:
SET search_path = different_schema_name;
Esto cambia el current_schema al esquema especificado para la sesión. Para cambiarlo permanentemente, tenemos que hacer cambios en el archivo postgresql.conf
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-23 10:42:55
Use este comando cuando se conecte por primera vez a psql
=# psql <databaseName> <usernamePostgresql>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-09-04 10:08:08