2024년 9월 25일 수요일

[라즈베리파이] PostgreSQL 데이터베이스 설치하기


인기 있는 오픈소스 DBMS(DataBase Management System) 포스트그레SQL 을 라즈베리파이에 설치해보자.


다음과 같은 순서대로 진행한다.

1. PostgreSQL DBMS 설치하기

2. DB생성 및 접속

3. 접근권한부여

4. DB 원격연결 허용

5. 원격 연결

6. 간단한 쿼리작성

7. python extension 설치(필요시)

8. pgAdmin을 설치



1. PostgreSQL DBMS 설치하기

운영체제를 최신 상태로 업데이트 한다.

$ sudo apt update && sudo apt upgrade -y 


다음의 명령어를 입력한다.

$ sudo apt install postgresql


apt repository로 설치했다면 자동으로 실행된다.

실행상태 확인을 위해 다음의 명령어를 입력한다.

$ sudo systemctl status postgresql


설치가 완료되면 계정을 postgres로 변경한다.

$ sudo su postgres


계정이 postgres로 변경되면 다음의 명령어를 입력하여 새로운 계정을 생성하고 역할을 부여한다. 

$ createuser pi -P --interactive

* 주의 : 이 사용자(pi)는 DB사용을 위해 생성한 사용자다. 시스템 사용자(pi)가 아니다.

DB에 접근하기 위해 사용할 비밀번호를 입력한다

Enter password for new role:

Enter : 비밀번호

다음의 질문에 y를 선택한다

$ Shall the new role be a superuser?(y/n) y


DB CLI에 접근하기 위해 다음의 커맨드를 입력한다

$ psql -d postgres -U pi -W

비밀번호를 입력해 접속 승인을 받는다.


2. DB생성 및 접속

psql을 입력하여 DBMS에 접속하고, 데이터베이스 mydatabase를 생성한다.

$ psql

> create database mydatabase;

명령어 \q 또는 Ctrl + D 를 눌러서 DBMS에서 빠져나온다. 

그리고 다음의 명령어를 입력하면, 방금 생성한 mydatabase에 접속할 수 있다.

$ psql -d mydatabase -U pi -W


3. 접근권한부여

다음과 같이 sudo명령어로 nano 등을 사용하여 pg_hba.conf 파일을 연다.

* 버전을 확인하여 적절한 버전으로 수정필요 (화면은 버전13)

아래의 이미지를 확인하여 해당 공간에 입력할 준비를 한다.




















아래와 같은 내용을 복사하여 화면처럼 붙여넣는다.
host  all  all  0.0.0.0/0  md5










4. DB 원격 연결 허용

sudo 권한으로 nano등의 에디터로 postgresql.conf를 연다.

아래 이미지를 확인하여 해당 라인으로 이동한다.




















앞줄 '#' 를 삭제하여 주석 처리를 해제하고  'localhost'를 지우고 '*'을 입력한다




















수정된 내용을 적용하기 위해 systemctl을 사용하여 DB를 재시작한다.




5. 원격 연결

아래의 명령어를 입력하여 DB에 원격으로 연결한다.

$ psql -h 192.168.1.30 -p 5432 -d mydatabase -U pi -W

*ip부분은 자신이 설치한 DB서버의 IP로 입력한다.

 



6. 간단한 쿼리 작성

데이터베이스에 접속하면 테이블이 아무것도 없다.

psql shell 에서 간단한 테이블을 만들어보자. 

mydatabase => create table people(name text, company text);

만든 테이블에 다음의 데이터를 입력한다.

mydatabase => insert into people values ('Ben Nuttall', 'Raspberry Pi Foundation');

mydatabase => insert into people valuse ('Rikki Endsley', 'Red Hat');


그리고 select 쿼리를 작성해 입력한 내용을 확인한다.

mydatabase => select * from people;

공식매뉴얼 링크

https://www.postgresql.org/docs/


7. Python extension 설치(필요시)

procedure와 function을 Python으로 작성하기 위한 확장팩을 설치한다.

터미널 화면상에서 아래의 명령어를 실행한다.

$ sudo apt install postgresql-plpython3-15

* plpython3-15 중 '15'는 postgreSQL의 버전

설치 후 DB에 접속 해서 다음의 SQL Query를 작성한다.

>> CREATE EXTENSION plpython3u;

정상적으로 실행되면 준비완료.


8. pgAdmin 설치

pgsql 공식 DB관리도구인 pgadmin을 설치하기 위해 아래의 링크를 통해 다운로드 받아서 설치한다.

- 링크: https://www.pgadmin.org/download/


또는 본인 좋아하는 DB관리도구를 다운로드 받아서 설치해보자.

- 링크 : https://dbeaver.io/download/

- 링크 : https://www.heidisql.com/download.php

- 링크 : https://github.com/hangum/tadpolefordbtools

- 링크 : http://tadpolehub.com/index.html

- 링크 : https://www.beekeeperstudio.io/

- 링크 : https://tableplus.com/




2024년 7월 22일 월요일

[사회문제] 한국 재벌그룹이 지금도 한국 경제를 장악 할 수 있는 이유.

 

한국 재벌그룹이 지금도 한국 경제를 장악 할 수 있는 이유.

한국에 있는 대부분의 회사의 대주주인 재벌그룹은 다음의 사례를 통하여 주식시장에 상장한 그룹사 및 자회사에 투자한 투자자에 대한 갈취를 끊임없이 계속하고 있음.

삼성, LG, 현대, 롯데, 두산, SK, 카카오 등 다수의 국내 대기업이 자회사를 상장하여 주식시장에서 자금을 조달함

위와 같은 한국의 재벌그룹이 다음의 이유로 경제를 계속 장악하게 되면, 결과적으로 부에 대한 분배의 불평등이 심화하게 되며, 이 결과 중소기업 창업 및 일자리 감소, 정상 기업의 대기업 하청화, 중소기업 이익 감소로 인한 상대적으로 낮은 임금체계 정착, 이로 인한 저출산 및 결혼 포기 등 수많은 부작용을 발생하게 하여 사회 악순환의 연결 고리를 반복하게 될 것으로 예상됨


1. 주식시장에서 대주주 권한 남용으로 인한 소액주주 갈취

 - 인적 분할, 물적 분할 같은 회사 분할, 합병으로 인한 주주 권리 박탈 (상장된 회사라도 인적분할시 비장상 회사로 분할설립이 가능하며 이 경우 법이 정한 가치산정액수가 회사의 상장가격을 훨씬 밑도는 경우가 많음.)

  예시) 인적분할 : 두산에너빌리티, 두산밥캣, 두산로보틱스 합병사례

          물적분할 : LG화학 > LG에너지솔루션, 

                        SK이노베이션 > SK온(배터리전문 자회사)

 - 주식시장에서 주주에 이익이 아닌 대주주이익만 추구하므로 다수의 개인주주 손해발생

 - 현재 위의 내용이 합법이라는 점, 정부기관과 국회의원의 무지와 안일함이 가져온 방치 및 방관 상황이 몰고온 대기업 경제 편중 현상 가속

 - 상속세 등의 핑계를 대며 회사 가치를 스스로 낮춤으로써 개인 투자자가 절대로 주식으로 돈을 벌 수 없는 구조로 만듬. (이러한 이익 상충의 상황이 발생되어도 정부는 묵인하며 방관함)

2. 모회사가 다수의 자회사를 상장하여 계열사로 편입

 - 대주주가 다수의 기업을 소유함으로 본사의 사업 범위를 훨씬 넘어선 다양한 회사를 설립하여 여러 신사업을 운영하는 회사를 매우 저렴한 금액으로 소유 할 수 있게 됨

   > 창업 하는 벤처기업 및 중소기업의 인력 유출이 발생하게 되며 대기업은 이런 인재를 영입하여 손쉽게 사업을 키울 수 있게 됨.

   > 자회사의 경우 이미 알려진 선진국의 기술을 따라서 베끼기 수준으로 만들어진 케이스가 대부분을 차지

  > 모회사의 기술 사업부가 큰 수익을 올릴 것으로 예상되면 해당 사업부를 분할하여 회사설립 후 상장, 이때 모회사 주주들에게 아무런 보상도 없으며, 사업부 분할로 인한 리스크로 주가 하락에 대한 손실전가 > 대주주는 저렴하게 추가 주식매수로 모회사 지분을 늘릴 수 있으므로 이익

   > 모회사의 회사 분할 및 일방적 계열사 합병은, 주주에게 돌아가야 할 이익이 대주주에게만 귀속되므로 개인투자자는 주식거래로 인한 이익을 취할 수가 없게되며 이러한 경우가 되풀이 될수록 시중에 돈이 재벌 그룹에게 집중되기 때문에 새로 창업하는 벤처기업, 중소기업에게 돌아갈 수 있는 투자의 기회마저 박탈되는 현상으로 악순환하게 됨.

3. 부실기업의 손해를 알짜 그룹계열사의 자금으로 대손충당 및 손실처리

 - 부실기업과 상관없었던 알짜회사의 주가는 크게 하락하여 투자자에 손실전가

 예시) 동아건설 > 대한통운

         두산건설 > 두산중공업(현 두산에너빌리티) 

         금호건설 > 아시아나항공

4. 적자 기업이 시가총액과 같은 액수의 대규모 3자배정 공모주를 일방적으로 발행

 예시) CJ CVG

 - 대주주의 잘못된 판단으로, 독단적으로 진행된 잘못된 해외 투자 인수합병으로 인한 손실을 투자자에게 전가 

 - 주식을 보유한 투자자가 보유한 주식의 가치 희석 

 - 미국의 경우 공모주는 대다수 투자자들에게 오픈 되지만, 한국의 경우 지배구조 유지를 위해 계열사(올리브 네트워크: 참고로 핵심 가치기업인 '올리브영'이 없음)를 이상한 가격에 넘기는 형식으로 주식을 모회사에 일방적으로 배정함) 


5. 대주주의 도덕성해이 현상에 대한 한국 사회의 견제 장치 부재

 - 법정관리 신청한 태영건설은 계열사 SBS지분 보유 고집해 해당 주식으로 부채상환 거부

 - 카카오뱅크의 경우 상장직후 경영진의 대규모 주식매도로 인하여 회사가치 하락

 - 고려아연의 경우 경영권 분쟁 도중, 분쟁 세력간 공개 매수(최고 89만원)등의 행위로 단기간 급등한 주가(150만원, 24.10.29)를 부담스러워 하며, 급하게 공모주(발행가격 67만원, 2조5천억원 규모) 발행(3~5거래일 가중평균주가(95만원)의 30%할인된 가격)발표. 

   >  발표 후 주가는 30% 이상 하락(99.8만원, 24.10.31)


6. 상장회사내 비상장회사의 인적 분할 후 이상한 비율의 자회사 합병 및 감자

 - 두산에너빌리티, 두산 밥캣, 두산로보틱스

 - 삼성물산, 제일모직 합병

 - SK 이노베이션, SK E&S

 - 현대자동차그룹, 현대모비스의 모듈 및 AS사업부를 분할해 현대글로비스와 합병 시도 했지만 무산


7. 낮은 배당 및 배당 기피 재벌그룹 다수

 - 두산 밥캣 (2023년 영업이익이 1조 4천억 이상이지만 배당 중단, 2024년 두산 로보틱스와 합병 후 상장철폐 시도 하였음)

 - 카카오 (카카오게임, 카카오뱅크, 카카오페이 등 알짜사업등을 분할상장 하지 않았다면 회사 주가와 배당금은 몇 배 이상 상승했을 것, 하지만 분할상장으로 배당금액 자체가 매우 적어짐)


8. 재벌그룹의 자녀 세습 및 유리한 인수 조건 조성 위한 주가조작 등의 행위 만연

 - 두산 밥캣 

 - 카카오 엔터의 SM엔터 인수


이는 30년 동안 국내 주식투자 중 일어났던 실제 현상과 느끼는 생각을 나열한 것.

위의 문제에 대해 많은 사람과 공감대를 형성하기 위하여 현재의 글을 작성함

정치 및 경제에 대한 사회문제를 풀어가는 실마리가 되면 좋겠음.

* 개인 적인 견해 :

한국 사회 저출산, 부의 분배, 중소기업 활성화 등에 대한 복합적인 문제는, 현재 비정상인 주식시장의 정상화만 해도 많은 문제들이, 시간이 지나면서 자연스럽게 해결될 것으로 예상됨.

* 이 원고는 초본이며 추후 수정 될 수 있음.