명령 줄에서 데이터베이스를 만들려고합니다. 내 OS는 centos이고 postgres 버전은 10.9입니다.
sudo -u postgres psql createdb test
Password for user test:
사용자별로 물어 보는 이유는 무엇입니까?
명령 줄에서 데이터베이스를 만들려고합니다. 내 OS는 centos이고 postgres 버전은 10.9입니다.
sudo -u postgres psql createdb test
Password for user test:
사용자별로 물어 보는 이유는 무엇입니까?
답변:
사용자를 postgres로 변경합니다.
su - postgres
Postgres 용 사용자 생성
$ createuser testuser
데이터베이스 생성
$ createdb testdb
postgres 셸에 액세스
psql ( enter the password for postgressql)
postgres 사용자에게 권한 제공
$ alter user testuser with encrypted password 'qwerty';
$ grant all privileges on database testdb to testuser;
create user testuser; create database testdb;
createdb
는 psql이 아닌 bash에서 실행할 수있는 명령 줄 유틸리티입니다. psql에서 데이터베이스를 생성하려면 다음과 같이 create database 문을 사용합니다.
create database [databasename];
참고 : 항상 SQL 문을 ;
;
CREATE DATABASE FOO
실제로 foo
. "데이터베이스가 존재하지 않는"이유를 파악하는 데 5 분 정도 걸렸습니다. 참조 : stackoverflow.com/questions/43111996/…
일부 답변에서 지적했듯이 createdb
데이터베이스를 만드는 데 사용할 수있는 명령 줄 유틸리티입니다.
라는 사용자가 있다고 가정하면 dbuser
다음 명령을 사용하여 데이터베이스를 만들고에 대한 액세스를 제공 할 수 있습니다 dbuser
.
createdb -h localhost -p 5432 -U dbuser testdb
localhost
올바른 DB 호스트 이름, 5432
올바른 DB 포트 및 testdb
생성하려는 데이터베이스 이름으로 바꿉니다 .
이제이 psql
새로 생성 된 데이터베이스에 연결하는 데 사용할 수 있습니다.
psql -h localhost -p 5432 -U dbuser -d testdb
createdb
및 psql
버전으로 테스트되었습니다 9.4.15
.
포스트 그레스의 기본 구성으로, 사용자라는 포스트 그레스가 만든 사용자입니다 포스트 그레스는 사용자의 OS에서 실행되는 전체 PostgreSQL의 인스턴스에 대한 모든 최고 관리자 액세스 할 수 있습니다.
sudo -u postgres psql
위의 명령은 관리자 모드에서 psql 명령 줄 인터페이스를 가져옵니다.
사용자 생성
sudo -u postgres createuser <username>
데이터베이스 생성
sudo -u postgres createdb <dbname>
참고 : <>는 명령을 작성하는 동안 사용되지 않으며 변수를 나타내는 데 사용됩니다.
PGPORT=5432
PGHOST="my.database.domain.com"
PGUSER="postgres"
PGDB="mydb"
createdb -h $PGHOST -p $PGPORT -U $PGUSER $PGDB