저는 오랫동안 MySQL을 사용해 왔으며 Postgres를 배우기로 결정했습니다. 전환은 끔찍한 일이 아니지만 오늘은 걸림돌로 치닫습니다 :Postgres 사용자가 다른 데이터를 참조하십시오.
관리자 계정 postgres
과이 애플리케이션 전용 사용자 tv
이 있습니다. 편의를 위해 admin 계정 아래 테이블의 일부 행을 수정했습니다. 웹 사이트는 내가 데이터베이스에서 변경 한 내용을 반영하지 않습니다.
tv
사용자로
psql
를 실행하고 거기에서 행의 어떤 것도 만들어 동안이
postgres
로 로그인 한 변경을 반영하지 것으로 나타났습니다. MySQL 배경에서 볼 때,이 동작은 나에게 완전히 좌절 스러웠습니다.
짧은 이야기 :이 기능입니까, 아니면 내가 어딘가 잘못 설정 했습니까? 그리고 데이터베이스를 이렇게 만들지 못하게 할 방법이 있습니까?
도움 주셔서 감사합니다. 업데이트
: 여기 명령의 샘플링은 다음과 같습니다
[12:23:04] blake$ sudo -u postgres psql -d teevee psql (9.1.3) Type "help" for help. teevee=# SELECT COUNT(*) FROM episode; count ------- 1 (1 row)
[12:23:25] blake$ psql -U tv -d teevee -h localhost -W Password for user tv: psql (9.1.3) SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256) Type "help" for help. teevee=> SELECT COUNT(*) FROM episode; count ------- 176 (1 row)
설명이 거의 불가능한 것처럼 보입니다. 동일한 데이터베이스의 행을 변경 하시겠습니까? 그런 경우의 99 %에서 잘못된 연결로 판명됩니다. psql은 사용자가 다른 이름을 지정하지 않는 한 사용자의 이름이 지정된 데이터베이스를 기본값으로 사용합니다. postgres 사용자와 tv 사용자로 psql을 시작하기 위해 사용했던 ** 정확한 ** 명령 줄을 보여주십시오. –
migth는 올바른 데이터베이스를 사용하고 있는지 확인하기 위해 두 사용자가 연결되었을 때'select current_database();'를 실행하기를 원합니다. –
변경 사항이 여전히 postgres 사용자에게 표시됩니까? –