DB
[PostgreSQL] 요약 정리
쑤기c
2017. 5. 30. 15:32
읽는법: 포스트그레스큐엘, PostgreSQL
▼ 설치편
pgAdmin III에서 데이타베이스에 접속이 안된다.
원인은 관련 서비스가 시작이 안된건데 UI에서 에러메시지를 안보여줄때
-- 서비스 시작 에러 확인법
cmd> pg_ctl start -D "data경로"
▼ 문제와 대처
--에러:)
password authentication failed for user 'user01'
--처리:) postgre (admin)로 접속해서 user01 암호 변경
alter user user01 password '1234';
commit;
-- (17/07/04) 에러:) 다른db의 테이블을 SELECT할때 다음 에러 발생
error: permission denied for relation 테이블명
state: 42501
--처리:) 해당Table에 팝업메뉴: Properties > Privileges(영사전;특권,특혜) 탭 - 접근하려는 id에 대해 또는 public으로 권한 추가
▼ 쿼리편
>-- 메타데이터 테이블
-- Catalogs > ANSI 아래에 테이블 존재
SELECT * FROM information_schema.tables;
SELECT * FROM information_schema.columns;
-- list of user
select * from pg_shadow;
-- add user
create user user1 password 'pwd';
-- ALTER
http://bloodguy.tistory.com/240
[기본 정보]
현재 PostgreSQL 사용 Port : SELECT inet_server_port();
현재 Database : SELECT current_database();
현재 접속 User : SELECT current_user;
현재 Server IP : SELECT inet_server_addr();
현재 PostgreSQL version : SELECT version();
현재 PostgreSQL 시간 : SELECT current_time;
현재 PostgreSQL 의 UPTIME : SELECT date_trunc('second', current_timestamp - pg_postmaster_start_time()) as uptime;
현재 PostgreSQL 의 시작시간 : SELECT pg_postmaster_start_time();
현재 PostgreSQL 의 UPTIME 상세 : SELECT current_timestamp - pg_postmaster_start_time();
현재 PostgreSQL 에 존재하는 Database : SELECT datname FROM pg_database;
--출처: http://splee75.tistory.com/62 [Study Log]
▼ timestamp ↔ string
-- string to timestamp without time zone
SELECT to_timestamp('2017-12-31 23:59:59','YYYY-MM-DD HH24:MI:SS')::timestamp without time zone;
-- timestamp to string
SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS')
반응형