SQLite 설치
6998 단어 databaseserverless
도전
여러 번 SQLite 버전/릴리스 관련 오류가 발생할 수 있습니다.
예시
나는 upsert 쿼리에 어려움을 겪고 있었다
INSERT INTO upsert_table (
folder,
filename,
count
)
VALUES (
'2021-01',
'abc.json',
1
)
ON CONFLICT (
filename
)
DO UPDATE SET count = count + 1 WHERE filename = 'abc.json';
로컬 시스템sqlite version 3.28.0에서는 제대로 작동했고 서버에서는 sqlite version 3.22.0
Error: near "ON CONFLICT": syntax error
오류가 발생했습니다.일부 인터넷 검색 후 발견
ON CONFLICT
이 버전 > 3.23.0에서 지원됨요점은 릴리스와 관련된 많은 문제에 직면할 수 있으므로 소스에서 바이너리를 다운로드, 컴파일 및 빌드하는 방법을 배우는 것이 중요해진다는 것입니다.
다운로드
wget https://www.sqlite.org/src/tarball/884b4b7e/SQLite-884b4b7e.tar.gz
설치
아래 명령을 사용하여 바이너리를 빌드하십시오.
cd ;# Takes you to Home directory
tar xzf SQLite-884b4b7e.tar.gz ;# Unpack the source tree into "sqlite"
mkdir bld ;# Build will occur in a sibling directory
cd bld ;# Change to the build directory
../SQLite-884b4b7e/configure ;# Run the configure script
make ;# Run the makefile.
make sqlite3.c ;# Build the "amalgamation" source file
make test ;# Run some tests (requires Tcl)
다운로드한 폴더 SQLite-884b4b7e/의 README.md에서도 이 단계를 찾을 수 있습니다.
설치 후 바이너리 경로를 Linux $PATH 변수에 추가하여 시스템 어디에서나 sqlite에 액세스할 수 있습니다. 아래 명령을 실행하지 않으면 바이너리가 저장된 폴더에서 sqlite를 실행해야 합니다.
export PATH=$HOME/bld:$PATH
참고: 바이너리를 빌드하는 동안 아래 오류를 발견하면
exec: tclsh: not found
그런 다음 Tcl을 설치하십시오
sudo apt-get install --reinstall tcl
파이썬의 SQLite 업그레이드
이제 OS에서 sqlite 버전을 업그레이드했습니다. 그러나 Python은
sqlite3
바이너리를 직접 사용할 수 없기 때문에 Python에서 새 버전에 액세스할 수 없습니다. 항상 sqlite3
공유 라이브러리에 연결된 모듈을 사용합니다.따라서 Python에서 sqlite 버전을 인쇄하면 이전 버전이 제공됩니다.
import sqlite3
sqlite3.sqlite_version #sqlite_version - sqlite version
sqlite3.version # version - pysqlite version
파이썬이 새로운 sqlite 버전을 사용하도록 하려면 Linux에서 .so 파일을 업데이트해야 합니다.
소스에서 sqlite를 빌드한 디렉토리로 이동하면 lib 폴더에서
libsqlite3.so.0.8.6
를 찾을 수 있습니다.libsqlite3.so.0.8.6
를 /usr/lib/x86_64-linux-gnu/
로 이동cd $HOME/bld/.libs
sudo mv libsqlite3.so.0.8.6 /usr/lib/x86_64-linux-gnu/
이제 Python에서 새 sqlite 버전을 사용할 준비가 되었습니다.
SQLite 사용을 고려해야 하는 이유
SQLite은 C 라이브러리에 있는 가볍고 작은 독립형 RDBMS입니다. MySql, PostgreSQL 등과 같은 인기 있는 데이터베이스는 클라이언트-서버 모델에서 작동하며 데이터베이스 작업의 모든 측면을 실행하고 제어하는 전용 프로세스가 있습니다.
그러나 SQLite에는 실행 중인 프로세스가 없으며 클라이언트-서버 모델이 없습니다. SQLite DB는 단순히 .sqlite3/.sqlite/.db 확장자를 가진 파일입니다. 모든 프로그래밍 언어에는 SQLite를 지원하는 라이브러리가 있습니다.
에서 사용 중인 SQLite를 찾을 수 있습니다.
SQLite가 사용되는 분야는 훨씬 더 많습니다. 전 세계의 모든 스마트폰에는 수백 개의 SQLite 데이터베이스 파일이 있으며 1조 개가 넘는 데이터베이스가 활발하게 사용되고 있습니다. 상당히 많은 숫자입니다.
Reference
이 문제에 관하여(SQLite 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vivekatwal/sqlite-installation-4j6k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)