programing

postgresql을 처음으로 구성하는 방법은 무엇입니까?

topblog 2023. 5. 8. 21:48
반응형

postgresql을 처음으로 구성하는 방법은 무엇입니까?

방금 postgresql을 설치했고 설치하는 동안 비밀번호 x를 지정했습니다.가 내가하할때를 할 때.createdb메시지가 표시되는 암호를 지정합니다.

createdb: 데이터베이스 postgres에 연결할 수 없음: FATAL: 사용자에 대한 암호 인증 실패

에도 마찬가지입니다.createuser.

어떻게 시작할까요?데이터베이스에 사용자로 추가할 수 있습니까?

다른 답변들은 저에게 완전히 만족스럽지 못했습니다.다음은 Xubuntu 12.04.1 LTS에서 postgresql-9.1에 대해 작동한 내용입니다.

  1. 사용자 postgres를 사용하여 기본 데이터베이스에 연결:

    sudo -u postgres psql 템플릿1

  2. 사용자 postgres의 암호를 설정한 다음 psql(Ctrl-D)을 종료합니다.

    암호화된 암호 'xxxxxxx'를 사용하여 사용자 포스트를 변경합니다.

  3. 을 합니다.pg_hba.conf파일 이름:

    sudovim /etc/postgresql/9.1/main/pg_sudov.conf

    postgres와 관련된 줄에서 "peer"를 "md5"로 변경합니다.

    지역적 모든 우편물 동년배 md5

    하려면 " " " postgresql "에서 버전 ./etc/postgresql또한 VIM 대신 Nano나 다른 에디터를 사용할 수 있습니다.

  4. 데이터베이스를 다시 시작합니다.

    sudo /etc/init.d/postgresql 다시 시작

    서는 (으)로 할 수 .)psql -U postgres).

  5. 자와동찾이가진사만용들기자있음수을름입사할력용면일으려한찾)▁having(▁create있▁type음▁user수만기들▁can▁as▁itto)를 입력하면 됩니다).whoami):

    -U -P -sudo create user -U postgres -d -e -E -l -P -s<my_name>

    옵션은 postgresql에 로그인, 데이터베이스 생성, 새 역할 생성, 수퍼유저 및 암호화된 암호를 사용할 수 있는 사용자를 생성하도록 지시합니다. -E입니다. 는 -P -E를 할 수 .createdb.

    비밀번호 주의: 먼저 새 비밀번호(새 사용자의 경우)를 두 번 묻고 반복한 다음 비밀번호(2단계에서 지정된 비밀번호)를 게시합니다.

  6. 다편합다니를 합니다.pg_hba.conf파일을 작성하고(위의 3단계 참조), "peer"를 "모든" 다른 사용자와 관련된 라인에서 "md5"로 변경합니다.

    모두 지역적인 동년배 md5

  7. 4단계와 같이 다시 시작하고 -U postgres 없이 로그인할 수 있는지 확인합니다.

    psql 템플릿1

    참고로 만약 당신이 단지psql을 가진 사와동이일예가에기스이데진베본이을터다름니실합패하고자사므로려용하결연용한자예: 사용)에▁having니다합▁it실패▁will▁fail▁it▁database▁default▁since▁will▁tryi)에 연결하려고 시도하므로 실패합니다.whoami) 입니다.) template1은 관리 데이터베이스입니다.

  8. 지금이다createdb <dbname>작동해야 합니다.

Linux Postgres 아래에서 QL로 할 수 됩니다.postgres셸(ssh 또는 ssh)에서.

$ psql -U postgres

그런 다음 평소와 같이 새 데이터베이스를 만듭니다.

CREATE ROLE myuser LOGIN password 'secret';
CREATE DATABASE mydatabase ENCODING 'UTF8' OWNER myuser;

이것은 터치하지 않고 작동해야 합니다.pg_hba.conf네트워크를 통해 GUI 도구를 사용하여 이 작업을 수행하려면 다음과 같이 작업해야 합니다.pg_hba.conf.

두 가지 방법을 사용할 수 있습니다.둘 다 사용자와 데이터베이스를 작성해야 합니다.

  1. createusercreatedb를 사용하여,

    $ sudo -u postgres createuser --superuser $USER
    $ createdb mydatabase
    $ psql -d mydatabase
    
  2. SQL 관리 명령 사용 및 TCP를 통한 암호 연결

    $ sudo -u postgres psql postgres
    

    그리고, psql 쉘에서.

    CREATE ROLE myuser LOGIN PASSWORD 'mypass';
    CREATE DATABASE mydatabase WITH OWNER = myuser;
    

    그런 다음 로그인할 수 있습니다.

    $ psql -h localhost -d mydatabase -U myuser -p <port>
    

    포트를 수 .postgres사용자,

    SHOW port;
    

    아니면.

    $ grep "port =" /etc/postgresql/*/main/postgresql.conf
    

노트: 사드노트: 더postgres사용자

수정하지 않는 것이 좋습니다.postgres사용자의

  1. 일반적으로 OS에서 잠깁니다.에 "안 .postgres 인증이 가능합니다.postgres.
  2. 일반적으로 암호로 보호되지 않으며 호스트 운영 체제로 위임됩니다.이것은 좋은 일입니다.이는 일반적으로 다음과 같이 로그인하는 것을 의미합니다.postgres▁the▁post▁is다▁whichgre니입. Server의 Server에 SA기본 데이터 파일에 대한 쓰기 액세스 권한이 있어야 합니다.그리고, 그것은 어쨌든 당신이 일반적으로 대혼란을 일으킬 수 있다는 것을 의미합니다.
  3. 이 옵션을 사용하지 않도록 설정하면 명명된 슈퍼 사용자를 통해 무차별적인 공격이 발생할 위험을 제거할 수 있습니다.슈퍼 유저의 이름을 숨기고 모호하게 하는 것은 장점이 있습니다.

이것이 제 해결책입니다.

su root
su postgres
psql

편집: 경고: 에반 캐롤이 올린 답변을 읽어보십시오.이 솔루션은 안전하지 않고 권장되지 않는 것 같습니다.

이것은 표준 Ubuntu 14.04 64비트 설치에서 작동했습니다.

저는 http://suite.opengeo.org/4.1/dataadmin/pgGettingStarted/firstconnect.html 에서 찾은 지침을 약간 수정하여 따랐습니다.

  1. postgreSQL 설치(아직 컴퓨터에 없는 경우):

sudo apt-get install postgresql

  1. postgres 사용자를 사용하여 psql 실행

sudo –u postgres psql postgres

  1. postgres 사용자에 대한 새 암호 설정:

\password postgres

  1. psql 종료

\q

  1. /etc/postgresql/9.3/main/pg_hba.conf를 편집하고 다음을 변경합니다.

#Database administrative login by Unix domain socket local all postgres peer

받는 사람:

#Database administrative login by Unix domain socket local all postgres md5

  1. postgre 다시 시작SQL:

sudo service postgresql restart

  1. 새 데이터베이스 만들기

sudo –u postgres createdb mytestdb

  1. postgres 사용자와 함께 psql을 다시 실행합니다.

psql –U postgres –W

  1. 기존 데이터베이스 나열(새 데이터베이스가 지금 있어야 함):

\l

MacOS에서, 저는 그것을 작동시키기 위해 아래의 단계를 따랐습니다.

설치 후 처음으로 시스템의 사용자 이름을 가져옵니다.

$ cd ~
$ pwd
/Users/someuser
$ psql -d postgres -U someuser

이제 시스템에 로그인했으므로 DB를 작성할 수 있습니다.

postgres=# create database mydb;
CREATE DATABASE
postgres=# create user myuser with encrypted password 'pass123';
CREATE ROLE
postgres=# grant all privileges on database mydb to myuser;
GRANT

만약 당신이 나처럼 macOS를 실행하고 있다면, 당신은 postgres 사용자가 없을 수도 있습니다.

실행을 시도할 때sudo -u postgres psql오류가 발생했습니다.sudo: unknown user: postgres

다행히 포스트그레스가 제공하는 실행 파일이 있습니다.

createuser -D /var/postgres/var-10-local --superuser --username=nick
createdb --owner=nick

그 후에 나는 접속할 수 있었습니다.psql문제없이

psql
psql (10.2)
Type "help" for help.

nick=#

새 포스트그레스 인스턴스를 처음부터 만드는 경우 다음은 제가 수행한 단계입니다.기본 포트가 아닌 포트를 사용하여 두 개의 인스턴스를 실행할 수 있었습니다.

mkdir /var/postgres/var-10-local
pg_ctl init -D /var/postgres/var-10-local

그리고 편집을 했습니다./var/postgres/var-10-local/postgresql.conf제가 선호하는 포트 5433과 함께.

/Applications/Postgres.app/Contents/Versions/10/bin/postgres -D /Users/nick/Library/Application\ Support/Postgres/var-10-local -p 5433

createuser -D /var/postgres/var-10-local --superuser --username=nick --port=5433
createdb --owner=nick --port=5433

알았어!

Note: textdb is the database which you are going to explore with 'alex' user 

root@kalilinux:~# sudo su - postgres 
postgres=#  psql   
postgres=#  create database testdb;
postgres=#  create user alex with password 'alex';
postgres=# GRANT ALL PRIVILEGES ON DATABASE testdb TO alex;`enter code here`

파일을 업데이트해야 합니다.이 파일은 사용자가 어떤 IP 주소에서 로그인할 수 있는지 제어합니다.저는 postgres 사용자가 기본적으로 상당히 폐쇄적이라고 생각합니다.

설치 디렉토리를 찾아 "pg_env.bat" 파일을 실행하기만 하면 bin 폴더로 이동한 후 pgAdmin.exe를 실행할 수 있습니다.이것은 틀림없이 효과가 있을 것입니다!

언급URL : https://stackoverflow.com/questions/1471571/how-to-configure-postgresql-for-the-first-time

반응형