Jost Do It.

그냥 IT해.

반응형

postgres 3

[sqlalchemy] immutabledict is not a sequence 에러 해결

문제 상황 sqlalchemy 라이브러리를 통해서 엔진을 생성하고 SQL문을 실행했더니 다음 에러가 발생했다. [...] TypeError: sqlalchemy.cyextension.immutabledict.immutabledict is not a sequence 실행한 코드는 다음과 같다. from sqlalchemy import create_engine conn_str = "{DB_TYPE}://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}".format(**os.environ) engine = create_engine(conn_str, client_encoding='utf8') del_sql = "DELETE FROM test" where = ('%..

Programming/Python 2024.03.09

[Python] upsert문 간접 구현하기

문제 상황 관계형 데이터베이스에 테이블에는 중복 방지와 무결성을 위해 primary key를 설정한다. 이 때 primary key를 설정하면 primary key 값이 중복된 데이터들은 업로드할 수 없다. 보통 SQL문에서는 중복된 데이터인 경우 INSERT INTO ... ON CONFLICT ... 구문을 통해 데이터를 덮어쓸 수 있다. 하지만 pd.to_sql 함수의 경우 데이터 업로드 시 해당 기능이 구현돼 있지 않아 다음 코드를 작성했다. 해결 방법 함수의 동작방식을 다음과 같이 하여 upsert를 간접 구현하였다. 간단히 말하면 pk 중복 데이터를 제거하고 다시 insert하는 방식으로 완전한 upsert는 아닐 수 있다. 1. 시스템 테이블에서 해당 테이블의 primary_key 이름 찾기..

Programming/Python 2024.02.05

[Dbeaver] postgres 연결 시 전체 데이터베이스가 보이지 않을 때 해결방법

문제 상황 Postgres 데이터베이스를 연결하니 내가 연결한 postgres 데이터베이스만 출력되고 나머지 데이터베이스는 출력되지 않는 문제가 발생했다. 해결 방법 데이터베이스 설정을 클릭한다. 설정항목 위에 PostgreSQL을 클릭 아래 Settings 옵션 중에서 Show all databases를 클릭한다. 그 외에도 데이터베이스 관련 옵션들이 있으니 필요한건 여기서 설정하면 될듯하다. Reference https://gitseok.tistory.com/entry/DBeaver-PostgreSQL-%EB%AA%A8%EB%93%A0-Database-%EC%A1%B0%ED%9A%8C%ED%95%98%EA%B8%B0

반응형