programing

Postgresql이 "createdb"를 슈퍼 사용자로 사용하여 db를 생성하지 않았지만 오류를 출력하지 않습니다.

newsource 2023. 5. 10. 21:13

Postgresql이 "createdb"를 슈퍼 사용자로 사용하여 db를 생성하지 않았지만 오류를 출력하지 않습니다.

저는 postgresql을 새로 설치하고 'postgres' super user와 함께 작업하고 있습니다.다음을 통해 로그인:

sudo -u postgres psql


postgres=# createdb database
postgres-# \list
                                  List of databases
   Name    |  Owner   | Encoding |  Collation  |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | 
 template0 | postgres | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres
 template1 | postgres | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres
                                                             : postgres=CTc/postgres

오류가 없습니다. 아직 테이블이 생성되지 않았습니다.아이디어 있어요?

createdbpsql이 아닌 bash에서 실행할 수 있는 명령줄 유틸리티입니다.psql에서 데이터베이스를 만들려면create database다음과 같은 진술:

create database [databasename];

참고: SQL 문은 항상 다음 항목으로 끝납니다.;

파티에 늦었지만 수락된 답변은 오류가 표시되지 않는 이유를 설명하지 않습니다.그리고 이것은 Postgres 신입생들이 종종 발견하는 것이기 때문에, 저는 그것을 덧붙이고 싶었습니다.


TL/TR: SQL 문을 항상 다음으로 끝냅니다.;


왜냐하면.createdb database으로 끝나지 않은; psql진술이 끝나지 않았다고 생각하고 더 많은 의견을 기다립니다.이는 다음에서 변경되는 프롬프트에 의해 표시됩니다.postgres=#로.postgres-#내가 바라는 아주 미묘한 변화.psql다른 방식으로 처리할 수 있습니다(더 "심각"함).

메타 명령 입력\list현재 SQL 문을 실행하지 않고 "중단"합니다.

만약에createdba로 끝났었습니다.;출력은 다음과 같습니다.

postgres=> 생성된 b 푸바;오류: "createdb" 또는 "createdb" 근처에서 구문 오류 발생라인 1: b foo bar 작성;^postgres=>

뭔가 잘못되었다는 것을 분명히 보여주는 것.

노드 터미널을 사용하여 다음을 실행해야 했습니다.

psql -U postgres 

[암호 입력]

그렇다면...

CREATE DATABASE dbadmin;

혼란스러운 것은 제가 이전에 같은 명령을 입력했는데 작동하지 않았다는 것입니다.로그아웃하고 다시 로그인한 후에야 설명서에서 다음 표준 명령을 사용할 수 있었습니다. https://www.postgresql.org/docs/10/tutorial-createdb.html

저는 얼마 전에 이런 상황에 처했습니다.명령 프롬프트가 표시되는 것을 고려하여 다른 사람이 이를 경험하는 경우postgres-#다음과 같이 입력하면 보류 중인 createdb 명령을 실행할 수 있습니다.;그리고 리턴 키.

Postgre에서 새 데이터베이스 만들기SQL은 매우 간단합니다. Linux에서 다음 명령을 실행합니다(CentOS 7 예제).

sudo -u postgres psql -c "create database MyDb;"

언급URL : https://stackoverflow.com/questions/13321005/postgresql-not-creating-db-with-createdb-as-superuser-yet-not-outputting-erro