postgresql & postgis

Tråden skapades och har fått 23 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2007-02-19 12:20

Finns det någon därute som har lyckats installera QGIS?
Jag har lyckats med installation av PROJ4, och GEOS men postgresql orsaka problem. På min rena, ominstallerade iMac har jag lyckats installera postgresql men Postgis vägrade eftersom den kunde inte hitta postgresql.
På min MacBook har jag lyckats få igång postgresql utan postgis och tittat på en db via PGAdmin3. Men nu kan jag inte få igång postgreql igen. Det finns ingen bin under usr/local/pgsql men under usr/local/bin finns det en massa saker som ser ut att vara postgresql. om jag kör pg_ctl inifrån usr/local/bin funkar det inte ändå trotts att jag ser det där.
Skillnaden mellan iMacen och MacBooken är att på min iMac har jag compilerat postgresql själv men på på min MacBook har jag använt Marc Liyanages postgreql installer. Kyng Chaos var inte mycket till hjälp i just denna fråga.
Jag borde nämna att jag är Terminal fientlig och tycker att alla program borde komma som binaries, helst drag n drop. Det vore bra om ni kunde svara som om ni instruera en fullständig idiot. Jag kommer inte ta illa upp.

  • Medlem
  • Kiruna
  • 2007-02-19 13:09

Vad använder du för kommando för att starta PostgreSQL? Vad får du för felmeddelande?

  • Medlem
  • Stockholm
  • 2007-02-19 13:19

pg_ctl ger command not found
både i usr/local/pgsql och usr/local/bin (där pg_ctl finns!)

  • Medlem
  • Kiruna
  • 2007-02-19 13:25

Förmodligen har du inte /usr/local/bin i din sökväg. Pröva att gå till katalogen och sedan köra kommandot ./pg_ctl istället. (Alltså en punkt och ett snedstreck innan pg_ctl.)

  • Medlem
  • Stockholm
  • 2007-02-19 14:03

no operation specified
det känns som att vi börjar närma oss en lösning

  • Medlem
  • Kiruna
  • 2007-02-19 15:34

Skickar du inte med några argument till pg_ctl?

Åtminstone bör du specificera vad det är du vill göra (starta, stoppa, kolla status osv), och sen kan det vara lämpligt att specificera datakatalog (dvs den katalog du gjorde initdb på).

Ex:

./pg_ctl start -D /usr/local/pgsql/data
./pg_ctl status -D /usr/local/pgsql/data

  • Medlem
  • Stockholm
  • 2007-02-19 16:02

Tack. Kom på mitt misstag efter en stund. Har precis slösat bort 2 timmar på att hitta .bashrc filen. Nu vet jag att den inte finns och det är .profile som gäller istället.

Tack så mycket för hjälpen

  • Medlem
  • Stockholm
  • 2007-02-19 16:15

Eller inte. .profile visa sig inte vara rätt heller.

  • Medlem
  • Kiruna
  • 2007-02-19 16:23

Vad för funktionalitet är du ute efter?

För inställningar för ett interaktivt login-shell kan man använda antingen .bash_profile, .bash_login, eller .profile

Haken är att enbart den första existerande av dessa läses in, sedan avbryts sökandet. För ett interaktivt shell som inte är ett login-shell läses .bashrc in.

  • Medlem
  • Stockholm
  • 2007-02-19 16:28

Jag vill ställa path så att det hitta till postgresql, postgis mm. Jag har inte de två först nämnda och inte .bashrc heller. Den enda jag har är .profile men den innehåller ett par path rader

test -r /sw/bin/init.sh && . /sw/bin/init.sh
#
# Your previous .profile (if any) is saved as .profile.dpsaved
# Setting the path for DarwinPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH

# Setting PATH for MacPython 2.5
# The orginal version is saved in .profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH

  • Medlem
  • Kiruna
  • 2007-02-19 16:40

Lägg till följande sist i .profile:

PATH="/usr/local/bin:$PATH"
export PATH

Sen måste du antingen läsa in ändringarna genom att göra

source .profile

eller, enklare, stäng ner terminalfönstret och öppna ett nytt, för att ändringarna ska träda i kraft.

  • Medlem
  • Stockholm
  • 2007-02-19 16:46

Gäller detta för allt nytt som tillkomma? Är det bara att lägga till en liknande rad med

PATH="new/program/bin:$PATH"

eller kan man lägga till på din rad? Typ:

PATH="/usr/local/bin:/new/program/bin:$PATH"

Är det så att $PATH lägger till alla PATHs som är redan inlästa?

  • Medlem
  • Kiruna
  • 2007-02-19 16:59

Det är bara att lägga till, med kolon som separator. Tänk bara på att om det av någon anledning finns två program med samma namn i sökvägen, så kommer det först påträffade av dem att exekveras.

Låt säga att du själv skriver ett program som heter 'ls' och i PATH sätter katalogen för detta program före katalogen för systemets 'ls'. Då kommer du inte längre åt den vanliga 'ls' utan att ange hela sökvägen '/bin/ls'. Detta kan också bli en säkerhetsrisk.

Variabeln $PATH innehåller mycket riktigt de sökvägar som satts upp tidigare, och därför kan man använda den för att lägga till fler kataloger. Det är dock inte förrän man exporterar variabeln som den kommer sin omgivning till del.

  • Medlem
  • Stockholm
  • 2007-02-19 17:02

echo $PATH visa inte den nya path och jag var tvungen att cd till usr/local/bin för att starta postgresql

Om Spot har lust att svara på detta får du gärna göra det. Men om du har tröttnat på mina idiotiska frågor har jag full förståelse för det.

  • Medlem
  • Kiruna
  • 2007-02-19 17:05

Har du startat en ny session så att .profile läses in? Det räcker inte med att bara ändra i den...

Om du vill kan du skicka upp hela din .profile här, så är det lätt att se om det finns något konstigt i den.

  • Medlem
  • Stockholm
  • 2007-02-19 17:16

Följande är hela innehållet av .profile filen

test -r /sw/bin/init.sh && . /sw/bin/init.sh
#
# Your previous .profile (if any) is saved as .profile.dpsaved
# Setting the path for DarwinPorts.
export PATH=/opt/local/bin:/opt/local/sbin:$PATH

# Setting PATH for MacPython 2.5
# The orginal version is saved in .profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH

PATH="/usr/local/bin:$PATH"
export PATH

  • Medlem
  • Stockholm
  • 2007-02-19 17:22

har precis hittat en bashrc fil (utan .) under private/etc/ med följande innehåll

# System-wide .bashrc file for interactive bash(1) shells.
if [ -n "$PS1" ]; then PS1='\h:\w \u\$ '; fi
# Make bash check it's window size after a process completes
shopt -s checkwinsize

  • Medlem
  • Kiruna
  • 2007-02-19 17:28

Nu blev det lite olyckligt med smileysarna i sökvägarna, men om det egentligen är ett kolon följt av ett dollartecken på de ställena, så är allt ok.

Eftersom du inte svarat på detta så frågar jag igen: har du sett till att avsluta terminalsessionen och starta en ny, så att ändringarna träder i kraft?

  • Medlem
  • Stockholm
  • 2007-02-19 17:35

Förlåt. Ja, det gjorde jag. Flera gånger. Men det hjälpte inte. Jag vet inte om det är det där med bashrc filen som spöka.

  • Medlem
  • Kiruna
  • 2007-02-20 00:19

Nej, /etc/bashrc ska finnas där den finns.

Har du kontrollerat vilket shell du använder? Det är bara bash och sh som använder sig av .profile. För att kontrollera kan du skriva echo $0 eller echo $SHELL i terminalen.

Om du använder bash så ska den läsa in .profile vid uppstart. Lägg in ett par echo med lämplig text på ett par olika ställen i .profile och titta sen efter texterna när du öppnar ett nytt terminalfönster. Om bara en del visas är det förmodligen något fel som gör att inläsningen av filen avbryts.

  • Medlem
  • Stockholm
  • 2007-02-20 09:43

echo $PATH ger /bash/bin
Jag la in några echos i .profile (1 till 4 där 4 kommer på slutet). Det ser ut som att hela filen läses in och att pathen till /usr/local/bin ÄR med men ändå måste jag cd till den.

Last login: Tue Feb 20 09:32:49 on ttyp1
Welcome to Darwin!
1
2
3
4
dhcp-no-177:~ andrew$ echo $PATH
/usr/local/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/opt/local/bin:/opt/local/sbin:/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin
dhcp-no-177:~ andrew$ su postgres
Password:
dhcp-no-177:/Users/andrew postgres$ ./pg_ctl status -D /usr/local/pgsql/data
su: ./pg_ctl: No such file or directory
dhcp-no-177:/Users/andrew postgres$ cd /usr/local/bin/
dhcp-no-177:/usr/local/bin postgres$ ./pg_ctl status -D /usr/local/pgsql/data
pg_ctl: server is running (PID: 2295)
/usr/local/bin/postgres -D /usr/local/pgsql/data
dhcp-no-177:/usr/local/bin postgres$

  • Medlem
  • Stockholm
  • 2007-02-20 09:52

Jag får installera om postgresql. Jag använde Marc Liyanages installer men den lämna inte några source mappar för installationen av postgis.

  • Medlem
  • Kiruna
  • 2007-02-20 13:07

Det är bara om du befinner dig i /usr/local/bin som du kan använda ./pg_ctl
När du anger ./ åsidosätter du sökvägen och bash letar efter pg_ctl enbart i den aktuella katalogen.

När du nu har /usr/local/bin i sökvägen räcker det med pg_ctl.

  • Medlem
  • Stockholm
  • 2007-02-20 13:21

Mycket bra. Tack
Jag har lyckats istallera postgis också. Men jag kommer inte åt den via pgadmin3. Det får jag lösa föstås.
Tack så mycket för hjälpen. Det var mycket snällt av dig.

1
Bevaka tråden