manywaypark's Blog
개발, 검색, 함수

결론을 먼저 말하자면 lc_monetary 설정(/etc/posgresql/.../postgresql.conf 파일)이 다를 때 생기는 문제다.

pg_dump를 한 postgresql의 설정으로 맞추어 주면 해결 된다.


내 경우의 원인은,

  1. box A에서 ubuntu 설치 후 기본 locale을 ko_KR.UTF8로 설정한 후에 postgresql server를 설치 (postgresql도 전부 ko_kR) .
  2. box B에서 ubuntu 설치 시 기본 locale을 en_US.UTF8로 설정하면서 postgresql server를 우분투 설치할 때 같이 설치(postgresql도 전부 en_US) .
  3. box A에서 pg_dump한 파일을 box B에서 pg_restore시도


KRW money type을 못 알아보겠다는 건 당연해보인다.


ref: https://www.postgresql.org/message-id/jv8i51$mb8$1@dough.gmane.org


happy hackin'


ps. system 수준에서 locale이 없다면 locale -a로 확인하고 locale-gen, update-locale을 해준다.

설치:

현재 우분투 14.04에서 기본 최신 gcc인 4.8을 쓰고 있는데 4.9를 쓸 일이 생겼다.

소스에서 빌드해서 써도 되지만 시간이 좀 걸리므로, PPA를 활용해서 설치한다.

⟫ sudo su -

# apt-get install build-essential

# add-apt-repository ppa:ubuntu-toolchain-r/test

# apt-get update

# apt-get install gcc-4.9 g++-4.9 cpp-4.9


설정:

기본 toolchain을 간단히 변경하기 위해 update-alternatives를 썼다.

참고 링크의 여러 방법을 참고해서 제일 간단한 방법을 하나 만들어보았다.

요지는 gcc가 변경될 때 g++, cpp도 함께 변경되게 만든 것이다.

 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9 --slave /usr/bin/cpp cpp-bin /usr/bin/cpp-4.9

 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 --slave /usr/bin/cpp cpp-bin /usr/bin/cpp-4.8

cpp 대신 cpp-bin을 쓴 이유는 cpp는 우분투 시스템에서 기본적으로 생성되는 것이라 변경할 경우 스크립트가 깨질 수 있다고 두번째 참고 링크에 나옴.


확인:

제대로 변경되는지 확인해보자

⟫ sudo update-alternatives --set gcc /usr/bin/gcc-4.8          

update-alternatives: using /usr/bin/gcc-4.8 to provide /usr/bin/gcc (gcc) in manual mode

⟫ gcc --version

gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

......

4 ⟫ g++ --version

g++ (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

......

⟫ cpp --version

cpp (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4

......

⟫ sudo update-alternatives --set gcc /usr/bin/gcc-4.9

update-alternatives: using /usr/bin/gcc-4.9 to provide /usr/bin/gcc (gcc) in manual mode

⟫ gcc --version

gcc (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3

......

⟫ g++ --version

g++ (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3

......

⟫ cpp --version

cpp (Ubuntu 4.9.3-8ubuntu2~14.04) 4.9.3

......


refs:

http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-on-ubuntu

http://stackoverflow.com/questions/7832892/how-to-change-the-default-gcc-compiler-in-ubuntu/9103299


happy hackin'


Load Average? IO wait?

tips & tricks/Linux/Unix 2016. 7. 27. 13:50 by manywaypark

Load Average:

CPU Load에 관한 알기쉬운 설명:

http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages

http://www.howtogeek.com/194642/understanding-the-load-average-on-linux-and-other-unix-like-systems/

요약하자면, 

CPU Load 값은 코어당 1이 full인데  70%이하 정도로 유지 하는 것이 적당하다는 말인데, 

예를 들어 코어가 4개일 경우 full load는 4.0이고, 적절한 값은 2.8 이다.


IO wait:

http://bencane.com/2012/08/06/troubleshooting-high-io-wait-in-linux/

요약하자면, top, iostat, iotop, lsof (-p PID), pvdisplay 등의 유틸리티를 써서 IO 유발자(?)를 찾아내는데, 아래 명령으로 process state가 'D'인 놈을 찾아서 lsof -p PID를 통해 확인한다음 조치를 취하자는 말.

# find process w/ 'D' state (in every 5 sec, 10 times)

for x in `seq 1 1 10`; do ps -eo state,pid,cmd | grep "^D"; echo "----"; sleep 5; done


happy hackin'

[macport] port select --set

tips & tricks/Mac 2016. 7. 6. 10:49 by manywaypark

macport를 쓰다보면 같은 package이지만 여러 버전이 있는 경우가 있다.

postgresql의 예를 들자면 아래와같이 하면 9.4버전으로 설정을 맞추어준다.

sudo port select --set postgresql postgresql94

설정을 맞춘다는 것의 의미는 각종 파일 및 링크(eg, /opt/local/bin/pg_config 등)를 업데이트해주는 것을 말한다.


ref: http://stackoverflow.com/questions/7832296/usage-of-postgresql-select-on-macports


happy hackin'


PS. packagename_select 패키지를 설치해야되는 듯. postgresql은 postgresql_select

remmina는 다 좋은데 윈도우 키 누른 상태가 지속되는 경우가 있다.

해결법은 간단하다. 윈도우 키를 빠르게 두 번 연속으로 누르면 된다.


ref: http://askubuntu.com/questions/390869/disable-super-winkey-key-in-remmina


happy hackin'

[VS2015] vcvarsall.bat는 어디에?

tips & tricks/Win 2016. 6. 23. 18:13 by manywaypark

Visual Studio 2015에서는 vcvarsall.bat가 기본으로 설치되지 않는 듯.

설치 프로그램 다시 실행하고, C++ Common Tools 항목을 설치해주어야된다.

기본 위치에 깔았다면, vcvarsall.bat 파일의 위치는 아래와 같다.

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat


ref: http://stackoverflow.com/questions/33323172/vcvarsall-bat-needed-for-python-to-compile-missing-from-visual-studio-2015-v-1


happy hackin'

smartmontool

tips & tricks/Linux/Unix 2016. 6. 22. 14:38 by manywaypark

커널 업그레이드 하고 리부팅 했는데 파일시스템 체크하다가 실패함. Orz

(의심 가는 것은 docker 깔아서 이거저거 테스트한 것과 18G 짜리 postgresql dump file을 서버에서 받아와서 노트북에도 밀어넣은 작업. 둘 중에 하나가 좀 문제를 있으켰을 가능성이 농후하다)

두번 정도 리부팅하니 우분투가 올라오긴 올라오는데 좀 찝찝함.

혹시나 하는 마음에 smartmontools 돌려서 H/W failure 인지 검사.

short test는 아무 이상 없구나. 퇴근하면서 extended test 돌려놓고 가야겠다.


https://help.ubuntu.com/community/Smartmontools


happy hackin'

R같은 한 글자로 된 패키지를 찾으려고 port search R 처럼 하면 엄청나게 많은 패키지가 리스팅된다.

아래처럼 하면 정확한 이름으로 찾아준다.

$ port search --exact R

R @3.3.0 (math, science)

    R is GNU S - an interpreted language for statistical computing


ref: http://johnlaudun.org/20140721-install-r-with-macports/


happy hackin'

[byobu] 세션 여러개 만들기

tips & tricks 2016. 5. 31. 14:57 by manywaypark

byobu에서 여러 세션을 사용하고 싶은 경우가 있다.

내 경우에는 tmux backend를 사용하므로 아래처럼 하면 된다.


byobu new -s from-macbook


refs:

http://askubuntu.com/questions/196290/name-a-byobu-session

http://askubuntu.com/questions/94564/how-to-run-multiple-byobu-sessions-at-once


happy hackin'

PostGIS에서 SRID로 5179를 쓰려고 했는데 다음과 같은 에러가 났다.


5179 not found in spatial_ref_sys


아마도 한국에서만 쓰는 것이라 기본으로 포함되지는 않은 듯하다.


아래와 같이 해주면 사용 가능하다.


INSERT INTO "spatial_ref_sys" ("srid","auth_name","auth_srid","srtext","proj4text") VALUES (5179,'EPSG',5179,'GEOGCS ["Korea 2000", DATUM ["Geocentric datum of Korea", SPHEROID ["GRS 1980", 6378137.0, 298.257222101, AUTHORITY ["EPSG","7019"]], TOWGS84 [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], AUTHORITY ["EPSG","6737"]], PRIMEM ["Greenwich", 0.0, AUTHORITY ["EPSG","8901"]], UNIT ["degree", 0.017453292519943295], AXIS ["Geodetic longitude", EAST], AXIS ["Geodetic latitude", NORTH], AUTHORITY ["EPSG","4737"]], PROJECTION ["Transverse_Mercator", AUTHORITY ["EPSG","9807"]], PARAMETER ["central_meridian", 127.5], PARAMETER ["latitude_of_origin", 38.0], PARAMETER ["scale_factor", 0.9996], PARAMETER ["false_easting", 1000000.0], PARAMETER ["false_northing", 2000000.0], UNIT ["m", 1.0], AXIS ["Easting", EAST], AXIS ["Northing", NORTH], AUTHORITY ["EPSG","5179"]]','+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs ');


refs:

  • https://gist.github.com/hangum/a0af73450c87cb651be7#file-test1-sql
  • https://epsg.io/5179

happy hackin'


글을 다 쓰고 자세히 보니

https://epsg.io/5179 에서 Export로 PostGIS용 insert statement를 제공하네. Orz.



1 2 3 4 5 6 7 ··· 16 
분류 전체보기 (306)
잡담 (20)
함수형 언어 (65)
emacs (16)
java (18)
tips & tricks (154)
사랑 (1)
가사 (0)
독서 (4)
mobile (6)
비함수형 언어 (2)

공지사항

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

04-19 07:18