중앙 OS 7에서 설치에서 PostgreSQL12로 설정
8303 단어 PostgreSQLCentOSWindowstech
목표
중앙 OS 7에 외부 웹 서버에서 연결하는 PostgreSQL12 환경을 구축합니다.
그리고 로컬 데이터베이스의dump 파일을 복구합니다.
컨디션
필자 단말기
OS:Windows10Pro-ver1909
콘솔: Powerherll
DB 서버 OS 정보
CentOS7.8 - x86_64
1. PostgreSQL 개발원 Yum 창고 추가
다음 URL에서 DB 서버의 OS에 맞는 패키지를 다운로드합니다.
다음 명령의 매개 변수에 객체의 URL을 지정합니다.
※ 필자는 센토스 7-x8664개의 URL이 지정되었습니다.
# yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
(省略)
Installed:
pgdg-redhat-repo.noarch 0:42.0-14
Complete!
2. PostgreSQL 패키지 설치
PostgreSQL 패키지는 다음 하위 패키지로 구성됩니다.그중에 적합한 포장을 설치하다.이번에는 DB 서버이기 때문에postgresql12-server를 설치합니다.
패키지 이름
설명
postgresql12
클라이언트 프로그램
postgresql12-libs
공유 라이브러리
postgresql12-server
서버 프로그램
postgresql12-docs
매뉴얼
postgresql12-contrib
추가 모듈
postgresql12-devel
헤드 파일 및 라이브러리 개발
postgresql12-llvmjit
JIT 컴파일 지원
postgresql12-plperl
PL/Perl
postgresql12-plpython3
PL/Python(Python 3 절차 언어)
postgresql12-pltcl
PL/Tcl(Tcl 절차 언어)
postgresql12-test
테스트 도구
# yum -y install postgresql12-server
(省略)
Complete!
3. 데이터베이스 집단의 창설
데이터베이스 집단은 데이터베이스를 저장하는 구역을 가리키며 데이터베이스 서버의 시작에 데이터베이스 집단이 필요하다.initdb 명령으로 만들 수 있습니다.OS가 있는postgresql-12-setup도 사용할 수 있지만 인증 방식은 ident가 고정되어 있기 때문에 다음과 같은 방법으로 진행한다.
# su - postgres -c '/usr/pgsql-12/bin/initdb -E UTF8 --locale=C -A scram-sha-256 -W'
データベースシステム内のファイルの所有者はユーザ"postgres"となります。
このユーザをサーバプロセスの所有者とする必要があります。
データベースクラスタはロケール"C"で初期化されます。
デフォルトのテキスト検索構成は english に設定されます。
データベージのチェックサムは無効です。
新しいスーパユーザのパスワードを入力してください: (パスワードを入力)
再入力してください: (パスワードを再入力)
ディレクトリ/var/lib/pgsql/12/dataの権限を設定しています ... ok
サブディレクトリを作成しています ... ok
動的共有メモリの実装を選択しています ... posix
デフォルトのmax_connectionsを選択しています ... 100
デフォルトのshared_buffersを選択しています ... 128MB
デフォルトの時間帯を選択しています ... Asia/Tokyo
設定ファイルを作成しています ... ok
ブートストラップスクリプトを実行しています ... ok
ブートストラップ後の初期化を実行しています ... ok
データをディスクに同期しています ... ok
成功しました。以下のようにしてデータベースサーバを起動することができます:
/usr/pgsql-12/bin/pg_ctl -D /var/lib/pgsql/12/data -l ログファイル start
su - postgres
initdb 명령은postgres 사용자가 실행해야 하기 때문에 사용자를 바꾸어 실행해야 합니다.
-E UTF8
기본 인코딩을 설정합니다.
--locale=C
기본 로켈이 없습니다.
-A scram-sha-256
인증 방법을 설정합니다.버전 9까지는 MD5 인증이었지만 10 이후에는 강도가 높은 scram-sha-256을 사용합니다.
4. 데이터베이스 서버 시작
다음 명령을 실행하는 데이터베이스 서버입니다.
# systemctl start postgresql-12.service
5. 수퍼유저의 환경 변수 설정
PostgreSQL의 슈퍼유저postgres에서 데이터베이스를 관리하기 위해 설정 파일을 편집합니다.
# pwd
/var/lib/pgsql
# su - postgres
$ vi .pgsql_profile
/var/lib/pgsql/.pgsql_profilePATH=/usr/pgsql-13/bin:$PATH
MANPATH=/usr/pgsql-13/share/man:$MANPATH
PGDATA=/var/lib/pgsql/13/data
export PATH MANPATH PGDATA
# pwd
/var/lib/pgsql
# su - postgres
$ vi .bash_profile
/var/lib/pgsql/.bash_profile#PGDATA=/var/lib/pgsql/12/data
PGDATA=/data
$ source ~/.bash_profile
6. 데이터베이스 서버 재시작
다음 명령으로postgres 사용자에서 데이터베이스 서버를 다시 시작합니다.
# su - postgres
$ pg_ctl stop
$ pg_ctl start
7. 외부로부터의 데이터베이스 서버 접근 허가 설정
pg_hba.파일과postgresql입니다.특정 IP 주소에서 액세스할 수 있도록 conf 파일을 편집합니다.
※ 설정이 완료되면 6단계를 다시 시작합니다.
# su - postgres
$ cd 12/data
$ vi pg_hba.conf
conf# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all scram-sha-256
# IPv4 local connections:
- #host all all 127.0.0.1/32 scram-sha-256
+ host all all 指定したいIPアドレス scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all scram-sha-256
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
# su - postgres
$ cd 12/data
$ vi postgresql.conf
postgresql.conf#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
- #listen_addresses = 'localhost' # what IP address(es) to listen on;
+ listen_addresses = '指定したいIPアドレス'# what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
#port = 5432 # (change requires restart)
8. 새 DB에서 dump 파일 복원
새로운 캐릭터, 그 캐릭터 제작 소유자의 데이터베이스.
# su - postgres
$ psql -U postgres
# CREATE ROLE ロール名 with superuser login password 'パスワード';
# CREATE DATABASE データベース名 with owner ロール名
# exit
------------------------------------
以下でデータベースにアクセスできるか確認
$ psql -U ロール名 -d データベース名
------------------------------------
以下でdumpファイルからデータベースを復元
$ psql -U ロール名 データベース名 < dumpファイル名
9. 소감
설정 반영을 잊고 잘못 설정한 줄 알고 복귀하는 장면도 많았다.나는 설정을 편집한 후에 반드시 반영해야 한다는 것을 안다.이번 계획은 웹 시스템에서 이 부분을 참조하여 보도할 것이다
Reference
이 문제에 관하여(중앙 OS 7에서 설치에서 PostgreSQL12로 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/taka_tech/articles/a676ae9f09198d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)