PostgreSQL 20

PSQL 예외: 현재 트랜잭션이 중단되었습니다. 트랜잭션 블록이 끝날 때까지 명령이 무시됩니다.

PSQL 예외: 현재 트랜잭션이 중단되었습니다. 트랜잭션 블록이 끝날 때까지 명령이 무시됩니다. JBoss 7.1.1 Final의 server.log 파일에 다음(잘린) 스택 추적이 있습니다. Caused by: org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102) at org.postgresql.core.v3.QueryExecutorImpl.processResults(Quer..

programing 2023.05.12

열거형에 포함될 수 있는 모든 값을 가져오기 위한 SQL 쿼리

열거형에 포함될 수 있는 모든 값을 가져오기 위한 SQL 쿼리 Postgresql이 얼마 전에 열거형 지원을 받았습니다. CREATE TYPE myenum AS ENUM ( 'value1', 'value2', ); 쿼리가 있는 열거형에 지정된 모든 값을 가져오려면 어떻게 해야 합니까?배열을 원하는 경우: SELECT enum_range(NULL::myenum) 열거형의 각 항목에 대해 별도의 레코드를 원하는 경우: SELECT unnest(enum_range(NULL::myenum)) 추가 정보 이 솔루션은 열거형이 기본 스키마에 없는 경우에도 예상대로 작동합니다.예를 들어, 바꾸기myenum와 함께myschema.myenum. 위 쿼리에서 반환된 레코드의 데이터 유형은 다음과 같습니다.myenum수행하..

programing 2023.05.12

PostgreSQL 'NOT IN' 및 하위 쿼리

PostgreSQL 'NOT IN' 및 하위 쿼리 이 쿼리를 실행하려고 합니다. SELECT mac, creation_date FROM logs WHERE logs_type_id=11 AND mac NOT IN (select consols.mac from consols) 하지만 결과가 없습니다.제가 테스트해봤는데, 구문에 문제가 있다는 것을 알고 있습니다.MySQL에서는 이러한 쿼리가 완벽하게 작동합니다.행이 있는지 확인하기 위해 행을 추가했습니다.mac에 존재하지 않는.consols테이블, 하지만 여전히 아무런 결과를 제공하지 않습니다.NOT IN을 사용할 때는 값이 NULL이 아닌지 확인해야 합니다. SELECT mac, creation_date FROM logs WHERE logs_type_id=1..

programing 2023.05.12

Postgre에서 UTC의 현재 시간을 기본값으로 사용SQL

Postgre에서 UTC의 현재 시간을 기본값으로 사용SQL 나는 의 칼럼을 가지고 있습니다.TIMESTAMP WITHOUT TIME ZONE를 입력하고 이 기본값을 UTC의 현재 시간으로 설정합니다.UTC에서 현재 시간을 얻는 것은 쉽습니다. postgres=# select now() at time zone 'utc'; timezone ---------------------------- 2013-05-17 12:52:51.337466 (1 row) 열의 현재 타임스탬프를 사용하는 경우: postgres=# create temporary table test(id int, ts timestamp without time zone default current_timestamp); CREATE TABLE pos..

programing 2023.05.12

도커화된 Postgre 백업/복원SQL 데이터베이스

도커화된 Postgre 백업/복원SQL 데이터베이스 Postgre를 백업/복원하려고 합니다.SQL 데이터베이스는 Docker 웹 사이트에 설명되어 있지만 데이터는 복원되지 않습니다. 데이터베이스 이미지에서 사용되는 볼륨은 다음과 같습니다. VOLUME ["/etc/postgresql", "/var/log/postgresql", "/var/lib/postgresql"] CMD는 다음과 같습니다. CMD ["/usr/lib/postgresql/9.3/bin/postgres", "-D", "/var/lib/postgresql/9.3/main", "-c", "config_file=/etc/postgresql/9.3/main/postgresql.conf"] 다음 명령을 사용하여 DB 컨테이너를 작성합니다. doc..

programing 2023.05.12

'사용자 "postgres"에 대한 암호 인증에 실패

'사용자 "postgres"에 대한 암호 인증에 실패 Postgre를 설치했습니다.SQL 8.4, Postgres 클라이언트 및 Pgadmin 3.콘솔 클라이언트와 Pgadmin 모두에 대한 사용자 "postgres" 인증에 실패했습니다.저는 사용자를 "postgres"로 입력하고 비밀번호 "postgres"로 입력했습니다. 이전에는 작동했기 때문입니다.그러나 이제 인증이 실패했습니다.저는 이 문제 없이 몇 번 전에 그것을 했습니다.어떻게 해야 하나?그리고 무슨 일이 일어나나요? psql -U postgres -h localhost -W Password for user postgres: psql: FATAL: password authentication failed for user "postgres" FA..

programing 2023.05.07

Postgre에서 외부 키가 있는 행 삭제SQL

Postgre에서 외부 키가 있는 행 삭제SQL 외부 키가 포함된 행을 삭제하고 싶지만 다음과 같은 작업을 시도할 때: DELETE FROM osoby WHERE id_osoby='1' 나는 다음과 같은 진술을 받습니다. 오류: "osoby" 테이블의 업데이트 또는 삭제가 "kontakty" 테이블의 외부 키 제약 조건 "kontakty_ibfk_1"을(를) 위반합니다. detail: 키(id_osoby)=(1)는 여전히 "kontakty" 테이블에서 참조됩니다. 이 행을 삭제하려면 어떻게 해야 합니까?이를 자동화하기 위해 외부 키 제약 조건을 다음과 같이 정의할 수 있습니다.ON DELETE CASCADE. 외부 키 제약 조건에 대한 설명서를 인용합니다. CASCADE참조된 행을 삭제할 때 해당 행을 ..

programing 2023.05.07

Postgres에서 모든 테이블의 행 수를 어떻게 찾습니까?

Postgres에서 모든 테이블의 행 수를 어떻게 찾습니까? 저는 Postgres에 있는 제 모든 테이블의 행 수를 찾을 방법을 찾고 있습니다.한 번에 하나의 테이블을 사용할 수 있습니다. SELECT count(*) FROM table_name; 하지만 저는 모든 테이블의 행 수를 보고 그 수만큼 주문하여 제 모든 테이블이 얼마나 큰지 알고 싶습니다.세 가지 방법으로 계산할 수 있습니다. 각각의 방법은 그들만의 트레이드오프가 있습니다. 실제 카운트를 원한다면 각 테이블에 대해 사용한 것처럼 SELECT 문을 실행해야 합니다.이것은 Postgre가SQL은 행 가시성 정보를 다른 곳이 아닌 행 자체에 보관하므로 정확한 카운트는 일부 트랜잭션에만 관련될 수 있습니다.해당 트랜잭션이 실행되는 시점에 표시되는 ..

programing 2023.05.07

Postgre에서 타임스탬프를 자동으로 업데이트하려면 어떻게 합니까?SQL

Postgre에서 타임스탬프를 자동으로 업데이트하려면 어떻게 합니까?SQL 나는 코드가 Current_TIMestamp를 사용하여 MySQL에서 할 수 있는 것처럼 새로운 행이 삽입되었을 때 타임스탬프를 자동으로 업데이트할 수 있기를 원합니다. PostgreSQL에서 어떻게 이를 달성할 수 있습니까? CREATE TABLE users ( id serial not null, firstname varchar(100), middlename varchar(100), lastname varchar(100), email varchar(200), timestamp timestamp ) 삽입하는 동안 열을 채우려면 다음 값을 사용합니다. CREATE TABLE users ( id serial not null, firs..

programing 2023.05.07

postgresql에서 특정 열이 있는 테이블을 찾는 방법

postgresql에서 특정 열이 있는 테이블을 찾는 방법 저는 Postgre를 사용하고 있습니다.SQL 9.1.테이블의 열 이름을 알고 있습니다.이 열이 있는 테이블을 찾을 수 있습니까?만약 그렇다면, 어떻게?또한 할 수 있습니다. select table_name from information_schema.columns where column_name = 'your_column_name' 시스템 카탈로그를 쿼리할 수 있습니다. select c.relname from pg_class as c inner join pg_attribute as a on a.attrelid = c.oid where a.attname = and c.relkind = 'r' sql fiddle demo@Roman Pekar의 쿼리..

programing 2023.05.02