AWS EC2에 Postgres를 설치하고 EC2에서 tsv 파일을 Postgres에로드하고 싶습니다.
2741 단어 SSHPostgreSQLtsvscpEC2
AWS에 인스턴스를 생성합니다.
· AWS의 리전은 버지니아 북부를 사용
· 인스턴스 크기는 t2.micro를 사용합니다.
・비밀키를 작성
개인 키의 권한을 600으로 변경 모드 (권한 변경)
chmod 600 /Users/[ユーザー名]/.ssh/[秘密鍵]
aws 서버에 들어가기
ssh -i [秘密鍵のパス] ec2-user@[ipアドレス]
미들웨어 설치
Postgresql 설치
$ sudo amazon-linux-extras install postgresql9.6
$ sudo yum install postgresql-server postgresql-devel postgresql-contrib
초기 설정
$ sudo postgresql-setup initdb ← これで初期DBが作られる?
$ sudo systemctl start postgresql ← 起動(.serviceは付けない)
$ sudo su - postgres ← postgresユーザーにチェンジ
$ psql ← postgresqlに接続
postgres 사용자의 비밀번호가 설정되지 않았으므로 아래에서 postgres로 설정
postgres=# alter role postgres with password 'postgres';
psql을 일단 빠져 나가고 postgres 사용자도 빠져 ec2-user로 일단 돌아온다.
$ sudo su - でroot ユーザにスイッチ
★/var/lib/pgsql/data/pg_hba.conf를 vi로 편집하여 인증 방법을 변경합니다.
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
설정 파일 변경 후 postgres를 다시 시작하는 것을 잊지 마십시오.
$ exit ec2-user に戻る
$ sudo systemctl restart postgresql ← postgres 再起動
$ psql -U postgres ← ec2-user でpsql 実行
여기까지 가면, 로컬로부터의 pgAdmin으로 SSH 터널 설정에서도 연결될 것.
SSH 터널 설정
터널 호스트
→EC2 인스턴스의 퍼블릭 IP로 바꾸기
식별 정보 파일
→키 파일로 읽어들인다
연결되지 않으면?
scp로 로컬에 있는 tsv 파일을 ec2로 전송
scp -i [秘密鍵のパス] [転送したいファイルのパス] ec2-user@[ipアドレス]:[/ec2上のディレクトリ]
주제 TSV 파일 로드
ssh 터널을 사용하여 ec2의 Postgres에 로컬 pgAdmin으로 액세스합니다.
pgAdmin에서 copy 명령을 실행했지만 권한이 없으면 화가납니다.
→ 무슨 권한?
어쩔 수 없기 때문에, tmp 디렉토리에 일시적으로 .tsv 파일을 이동해, 다시 copy 명령을 실행하면 성공했다.
/home/ec2-user/tmp
배포에 관해서는 아래의 URL이 참고가 되었습니다.
Reference
이 문제에 관하여(AWS EC2에 Postgres를 설치하고 EC2에서 tsv 파일을 Postgres에로드하고 싶습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/simplemon1230/items/61507e549b26d5f0d248텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)