'Dev/database'에 해당되는 글 3건

  1. 2023.06.18 무료 Serverless Postgres (PostgreSQL) 데이터베이스 이용하기
  2. 2011.09.29 C / C++ interface For SQLite3
  3. 2011.09.20 SQLite3 tutorial

무료 Serverless Postgres (PostgreSQL) 데이터베이스 이용하기

Dev/database 2023. 6. 18. 12:03


최근 사이드 프로젝트를 진행하며 개발간 사용할 무료 PostgreSQL 데이터베이스를 찾아보게 되었습니다.

Neon serverless postgres 라는 서비스를 알게 되었고 해당 서비스를 통하여 개발을 잰행 하였고,

무료인데 나름 공간도 넉넉하고 설정이 어렵지 않아 매우 잘 사용하였습니다.

서비스 이용 방법을 공유 합니다.

 

PC에 데이터베이스 설치가 부담스럽고, 따로 이용가능한 DB가 없는경우 좋은 선택일 듯 합니다.

기본 사용 설정 밥법

1. Neon Serverless Postgres 사이트에 접속합니다

https://neon.tech/

 

Neon — Serverless, Fault-Tolerant, Branchable Postgres

Postgres made for developers. Easy to Use, Scalable, Cost efficient solution for your next project.

neon.tech

접속시 후한 무료 티어(generous free tier.) 라는 문구가 눈에 띄네요.,

 

가격정책에 들어가보면 아래와 같이 사용 가능 용량을 확인하여 볼 수 있습니다.

가격 정책

무료 티어 기준 

  • 1개 프로젝트
  • 10개 브랜치
  • 브랜치별 3기가
  • 1기가 공유 메모

사용 가능 합니다. 개발환경에서 왠만한 상황이 아니고서는 꽤나 넉넉해 보입니다.

속도도 개발 환경에서는 쓸만했습니다. (초기 접속은 약간의 Delay가 느껴졌습니다.)

 

2. 가입을 진행 합니다. (Sign up)

메인화면
가입 옵션

저의 경우 Google 계정을 이용하여 가입을 진행하였습니다.

 

3. 신규 프로젝트 생성하기

로그인시 Neon console 로 이동되며 Projects 목록에 New Project를 통하여 신규 프로젝트를 등록합니다..

프로젝트

생성 후 프로젝트를 선택하여 보면 접속정보 및 사용 내역을 한눈에 확인 가능합니다.

그중 접속정보는 Connection 정보를 확인하시면 됩니다.

프로젝트 선택 화면

Code examples 를 선택하시면 여러 프로그램 언어별로 접속 설정하는 예시 코드를 생성하여보여줍니다.

code example

 

4. 접속 및 사용 테스트 (DBeaver)

아래와 같이 접속 정보를 DBeaver에 입력하여 설정 후 Test 를 해보시면 

접속 설정
접속 성공

조회도 아래와 같이 정상 작동합니다.

 

쿼리 실행

데이터베이스 개발 준비 끝~

'Dev > database' 카테고리의 다른 글

C / C++ interface For SQLite3  (0) 2011.09.29
SQLite3 tutorial  (0) 2011.09.20
:

C / C++ interface For SQLite3

Dev/database 2011. 9. 29. 13:37


필요한 간단한 내용들만 정리.
원문 : C / C++ interface For SQLite version 3


int sqlite3_bind_int(sqlite3_stmt *, int, int);

첫번째 인자
 - sqlite3_prepare_v2 에서 리턴된 sqlite3_stmt 오브젝트.
두번째 인자
 - SQL 파라미터의 인덱스 ( base index : 1 )
세번째 인자
 - 파라미터에 바인드 하고자 하는 value. 

return
 - 성공시 SQLITE_OK를 리턴. 또는 에러코드를 리턴한다. SQLITE_RANGE는 parameter의 index가 벗어난 경우 리턴된다. malloc() 실패시(메모리 부족) SQLITE_NOMEM이 리턴된다. 

-------------------------
int sqlite3_column_int(sqlite3_stmt *, int);

첫번째 인자
 - sqlite3_prepare_v2 에서 리턴된 sqlite3_stmt 오브젝트.
두번째 인자
 - SQL parameter의 인덱스 ( base index : 0)

return
 SQLITE_INTEGER 타입의 값.


** 헷갈렸던 내용 : bind 함수들은 index가 1을 기본으로 시작되고, column 함수들은 index가 0을 기본으로 시작된다. ( 왜 통일 안하고 다르게 해뒀지 ??? )
 
추후 필요한 내용들은 그때 그때 추가한다. 

'Dev > database' 카테고리의 다른 글

무료 Serverless Postgres (PostgreSQL) 데이터베이스 이용하기  (0) 2023.06.18
SQLite3 tutorial  (0) 2011.09.20
:

SQLite3 tutorial

Dev/database 2011. 9. 20. 16:52


iOS에서 사용할 SQLite3 의 사용법에 대해 정리한다.
원문 링크 : http://souptonuts.sourceforge.net/readme_sqlite_tutorial.html
내가 작성하며 테스트한 환경 : SQLite version 3.7.7.1 2011-06-28 17:39:05

OSX에서 확인하는 경우 Xcode를 설치를 하면 기본으로 설치가 되는 것으로 알고 있다.

Common Commands

database 생성
Terminal 창을 열어 다음과 같이 입력하면 test.db라는 이름의 데이터 베이스가 생성된다.

$ sqlite3 test.db 
SQLite version 3.7.7.1 2011-06-28 17:39:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .quit
$

종료를 하기 위한 명령어는 .q .quit .exit 중에 하나를 입력하면 명령 프롬프트로 돌아간다.

table 생성
다음과 같이 테이블(t1)을 생성한다.
$ sqlite3 test.db "create table t1 (t1key INTEGER PRIVAMY KEY,data TEXT, num double, timeEnter DATE);"

생성된 테이블에 데이터 삽입
insert 질의문을 이용하여 테이블에 데이터를 삽입한다.

$ sqlite3 test.db  "insert into t1 (data,num) values ('This is sample data',3);"
$ sqlite3 test.db  "insert into t1 (data,num) values ('More sample data',6);"

$ sqlite3 test.db  "insert into t1 (data,num) values ('And a little more',9);"

삽인된 후의 테이블 데이터 전체 내용 확인
select 질의문을 이용하여 테이블의 내용을 확인한다. 튜토리얼의 내용에는 기본키로 설정한 t1key가 자동 증가가 된다고 되어 있는데 내 맥에서는 자동 증가가 되질 않는지 표시가 되질 않았다. autoincrement 명령어를 주어야 하나보다.

$ sqlite3 test.db "select * from t1;"
|This is sample data|3.0|
|More sample data|6.0||And a little more|9.0|
 
지정된 개수의 행만 출력
limit 명령(?)으로 제한을 줄 수 있다. 2개의 행만을 출력.
 
$ sqlite3 test.db "select * from t1 limit 2;" 
|This is sample data|3.0|
|More sample data|6.0|

Offset 주기
offset 명령(?)으로 오프셋을 줄 수 있다. 다음과 같이 하면 t1key를 기준하여 2개를 오프셋을 준 상태에서 하나의 행만을 출력한다.
$ sqlite3 test.db "select * from t1 order by t1key limit 1 offset 2;"
|And a little more|9.0|

table 이름 보기
.table 명령어를 이용하여 테이블의 이름을 볼 수 있다.
$ sqlite3 test.db ".table"
t1

테이블 리스트의 더 자세한 내용 보기
sqlite_master 을 이용하여 표시할 수 있다.

$ sqlite3 test.db "select * from sqlite_master;"

table|t1|t1|2|CREATE TABLE t1 (t1key INTEGER PRIVAMY KEY,data TEXT, NUM double, timeEnter DATE)

database로 실행된 모든 SQL 정보를 확인.

$ sqlite3 test.db ".dump"

PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE t1 (t1key INTEGER PRIVAMY KEY,data TEXT, NUM double, timeEnter DATE);
INSERT INTO "t1" VALUES(NULL,'this is sample data',3.0,NULL);
INSERT INTO "t1" VALUES(NULL,'More sample data',6.0,NULL);
INSERT INTO "t1" VALUES(NULL,'And a little more',9.0,NULL);
COMMIT;


==============================================================
내가 확인한 내용을 여기 까지 이며, 추 후 필요한 내용들은 확인 후 추가 할 것이다. 좀더 구체적이고 자세한 내용을 원하면 내용 첫부분의 원문으로 링크를 쫒아가면된다.
그리고, 원문과 내용이 약간 다를 수 있으므로 의문이 생기거나 이상한 부분도 원문을 확인 하시길... 

: