Mac: Difference between revisions
(Created page with '== Downloading and Installing Exodus == http://code.google.com/p/exodusdb/downloads If there is no program for your Mac version then you can use the instructions to build Exodu…') |
|||
Line 7: | Line 7: | ||
== C++ Compiler == | == C++ Compiler == | ||
If you want to write or compile Exodus programs to install the XCODE C++ compiler. You don't need a C++ compiler to just | If you want to write or compile Exodus programs to install the XCODE C++ compiler. You don't need a C++ compiler to just use the Exodus command line to access the database or run prepackaged Exodus programs. | ||
XCODE is available in the OSX dvd in the utilities folder. | XCODE is available in the OSX dvd in the utilities folder. |
Revision as of 22:15, 27 October 2010
Downloading and Installing Exodus
http://code.google.com/p/exodusdb/downloads
If there is no program for your Mac version then you can use the instructions to build Exodus from source.
C++ Compiler
If you want to write or compile Exodus programs to install the XCODE C++ compiler. You don't need a C++ compiler to just use the Exodus command line to access the database or run prepackaged Exodus programs.
XCODE is available in the OSX dvd in the utilities folder.
Postgresql
If you want to use Exodus to provide multivalue database functionality then you must already have or install a PostgreSQL database.
http://www.postgresql.org/download/macosx
Postgres does not have to be on the same server as Exodus, however, if it is not, dictionary entries cannot call Exodus subroutines.
By default, Exodus assumes the following postgres configuration. This is very convenient for quick setups but of course is not secure.
host=127.0.0.1 port=5432 dbname=exodus user=exodus password=somesillysecret connect_timeout=10
The following Exodus command creates the default database and password. It prompts for a postgres admin user and password to do so.
configexodus
Alternatively, you can use any available Postgres utility to create an initial database and user yourself. If you wish Exodus to be able to create databases, and drop any databases it creates, the user you create should have database creation rights. The user you create does not need admin rights.
Storing the configuration
notepad %USERPROFILE%\.exodus
host=127.0.0.1 port=5432 dbname=exodus user=exodus password=somesillysecret connect_timeout=10
The following environment variables can override default and .exodus parameters on a one by one basis.
set EXODUS_HOST=127.0.0.1 set EXODUS_PORT=5432 set EXODUS_DBNAME=exodus set EXODUS_USER=exodus set EXODUS_PASSWORD=somesillysecret set EXODUS_TIMEOUT=10
Using Exodus
Look your Applications folder for Exodus or just use the unix console.
Try the following commands.
Command | Comment |
---|---|
EDITING AND COMPILING | |
edic hello | edic=edit+compile+catalog. Creates a skeleton hello.cpp file using nano editor. edic will only compile on exit if saved, so make some change before you exit. |
hello | Run it |
compile hello | compile without editing |
edic testsort | Browse a sample exodus program showing all fundamental database operations including dictionaries and list. |
compile testsort | compile the preinstalled test program |
testsort | Run it to generate some data and inspect the output |
DATABASE OPERATIONS | |
listfiles | quick tool avoiding need to use any database client |
list myclients | text output - no page/column headers just yet sorry |
list myclients {H} | html output (port of a fully blown LIST replacement in heavy production use since 2000) |
list dict_myclients | NB the underscore after "dict" is *required*. "dict(SPACE)myclients" wont work |
list dict_voc | if you understand this then you understand your pick |
edir myclients SB001 | you can edit data or dictionaries directly. edir="edit record" |
delete myclients SB001 | useful command line tool |
createfile tempfile | ditto |
deletefile tempfile | ditto |
createindex myclients CLIENT_TYPE | speeds up select commands on the indexed fields in the traditional way |
deleteindex myclients CLIENT_TYPE | filenames are case insensitive, keys and fieldnames are CASE SENSITIVE |
If you get the following error then you have not completed the installation of the Exodus plugin for Postgres.
PGRES_FATAL_ERROR: ERROR: function exodus_extract_text(bytea, integer, integer, integer) does not exist