Comando "use database_name" en PostgreSQL
postgresql-9.1 (5)
Soy principiante de 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 se ejecuta solo en psql . Cuando lo intento desde el editor de consultas PostgreSQL me sale un error de sintaxis.
Tengo que cambiar la base de datos por pgscripting. Alguien sabe como hacerlo?
Cuando obtienes una conexión a PostgreSQL
, siempre es a una base de datos en particular. Para acceder a una base de datos diferente, debe obtener una nueva conexión.
El uso de /c
en psql cierra la conexión antigua y adquiere una nueva, utilizando la base de datos y / o las credenciales especificadas. Obtienes un nuevo proceso de back-end y todo.
Debe especificar la base de datos a utilizar en conectar; 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, solo he estado buscando esto también, muy poca información sobre postgreSQL en comparación con MySQL y el resto, en mi opinión.
El problema básico durante la migración de MySQL que enfrenté fue que pensé que el término database
de database
sería el mismo en PostgreSQL también, pero no lo es. Entonces, 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
.
En pgAdmin también puedes usar
SET search_path TO your_db_name;
Use este comando cuando se conecte por primera vez a psql
=# psql <databaseName> <usernamePostgresql>