PostgreSQL 초보자입니다.
USE
MySQL 또는 MS SQL Server 와 같은 Postgres의 쿼리 편집기에서 다른 데이터베이스에 연결하고 싶습니다 .
\c databasename
인터넷을 검색하여 찾았 지만 psql 에서만 실행됩니다 . PostgreSQL 쿼리 편집기에서 시도하면 구문 오류가 발생합니다.
pgscripting으로 데이터베이스를 변경해야합니다. 누구나 그것을하는 방법을 알고 있습니까?
답변
연결되면 PostgreSQL
항상 특정 데이터베이스에 연결 됩니다. 다른 데이터베이스에 액세스하려면 새 연결이 있어야합니다.
사용 \c
psql의에서하면 기존 연결을 닫고 지정된 데이터베이스 및 / 또는 자격 증명을 사용하여, 새로운 하나를 얻습니다. 완전히 새로운 백엔드 프로세스와 모든 것을 얻습니다.
답변
연결시 사용할 데이터베이스를 지정해야합니다. 스크립트에 psql을 사용하려면 “\ c name_database”를 사용할 수 있습니다
user_name=# CREATE DATABASE testdatabase;
user_name=# \c testdatabase
이 시점에서 다음과 같은 결과가 표시 될 수 있습니다
You are now connected to database "testdatabase" as user "user_name".
testdatabase=#
프롬프트가 어떻게 바뀌는 지 확인하십시오. 건배, 방금 이것도 찾고 있었지만 MySQL과 다른 사람들에 비해 postgreSQL에 대한 정보는 너무 적습니다.
답변
pgAdmin에서 당신은 또한 사용할 수 있습니다
search_path를 your_db_name으로 설정하십시오.
답변
내가 직면 한 MySQL에서 마이그레이션하는 동안의 기본 문제 database
는 PostgreSQL에서도 동일한 용어라고 생각 했지만 그렇지 않았습니다. 따라서 응용 프로그램 또는에서 데이터베이스를 전환하려는 pgAdmin
경우 결과가 예상과 다릅니다. 필자의 경우와 마찬가지로 각 고객과 별도의 관리 스키마에 대해 별도의 스키마 (여기서는 PostgreSQL 용어 고려)가 있습니다. 따라서 응용 프로그램에서 스키마 간을 전환해야합니다.
이를 위해 SET search_path
명령을 사용할 수 있습니다 . 현재 스키마를 현재 세션에 대해 지정된 스키마 이름으로 전환합니다.
예:
SET search_path = different_schema_name;
그러면 current_schema가 세션에 지정된 스키마로 변경됩니다. 영구적으로 변경하려면 postgresql.conf
파일 을 변경해야 합니다.
답변
처음 연결할 때이 쉼표를 사용하십시오 psql
=# psql <databaseName> <usernamePostgresql>