Thu, 08 Mar 2007

Accessing a PostgreSQL database from OpenOffice.org base under Debian.

Solution:
apt-get install unixodbc odbc-postgresql
# odbcinst -i -d -f /usr/share/psqlodbc/odbcinst.ini.template
$ cat /usr/share/doc/odbc-postgresql/examples/odbc.ini.template >> ~/.odbc.ini

   1. Set connection parameters in ~/.odbc.ini (username, password, host...)
   2. Check "Connect to an existing database" from the oobase Database Wizard, select ODBC, click on "Browse".

At this point your PostgreSQL database should be listed among the available data sources. 

Posted at: 08:05 | category: /database | Comments ()

Fri, 11 Aug 2006

psql commands


 \a             toggle between unaligned and aligned output mode
 \c[onnect] [DBNAME|- [USER]]
                connect to new database (currently "cap")
 \C [STRING]    set table title, or unset if none
 \cd [DIR]      change the current working directory
 \copy ...      perform SQL COPY with data stream to the client host
 \copyright     show PostgreSQL usage and distribution terms
 \d [NAME]      describe table, index, sequence, or view
 \d{t|i|s|v|S} [PATTERN] (add "+" for more detail)
                list tables/indexes/sequences/views/system tables
 \da [PATTERN]  list aggregate functions
 \dd [PATTERN]  show comment for object
 \dD [PATTERN]  list domains
 \df [PATTERN]  list functions (add "+" for more detail)
 \do [NAME]     list operators
 \dl            list large objects, same as \lo_list
 \dp [PATTERN]  list table access privileges
 \dT [PATTERN]  list data types (add "+" for more detail)
 \du [PATTERN]  list users
 \e [FILE]      edit the query buffer (or file) with external editor
 \echo [STRING] write string to standard output
 \encoding [ENCODING]  show or set client encoding
 \f [STRING]    show or set field separator for unaligned query output
 \g [FILE]      send query buffer to server (and results to file or |pipe)
 \h [NAME]      help on syntax of SQL commands, * for all commands
 \H             toggle HTML output mode (currently off)
 \i FILE        execute commands from file
 \l             list all databases
 \lo_export, \lo_import, \lo_list, \lo_unlink
                large object operations
 \o FILE        send all query results to file or |pipe
 \p             show the contents of the query buffer
 \pset NAME [VALUE]  set table output option
                (NAME := {format|border|expanded|fieldsep|null|recordsep|
                tuples_only|title|tableattr|pager})
 \q             quit psql
 \qecho [STRING]  write string to query output stream (see \o)
 \r             reset (clear) the query buffer
 \s [FILE]      display history or save it to file
 \set [NAME [VALUE]]  set internal variable, or list all if no parameters
 \t             show only rows (currently off)
 \T [STRING]    set HTML table tag attributes, or unset if none
 \timing        toggle timing of commands (currently off)
 \unset NAME    unset (delete) internal variable
 \w [FILE]      write query buffer to file
 \x             toggle expanded output (currently off)
 \z [PATTERN]   list table access privileges (same as \dp)
 \! [COMMAND]   execute command in shell or start interactive shell

Posted at: 23:19 | category: /database/postgresql | Comments ()

Thu, 10 Aug 2006

MySQL - set initial root password

Remember to set a password for the MySQL root user!
This is done with:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h coyner.net password 'new-password'

Posted at: 21:38 | category: /database/mysql | Comments ()

mysqldump

// To backup a database

mysqldump -u ironmossman -p ironmoss_db > backup.sql


// To backup a database via SSH

ssh ironmossman@teammossman.com "mysqldump -u ironmossman -psecret ironmoss" > backup.sql

Posted at: 21:38 | category: /database/mysql | Comments ()

Using sqlobject in cherryPy

from sqlobject import *

conn = 'mysql://dbuser:dbpass@host/dbname'

class NameOfTable(SQLObject):
    _connection = conn
    _fromDatabase = True
    _style = MixedCaseStyle(longID=False)

class Newspage(Page):
    def index(self):
        article = NameOfTable.select(NameOfTable.q.field=='Joe', orderBy=-NameOfTable.q.dateAdded)


Notes:
    _fromDatabase = True means sqlobject will simply take column names from
    the DB.  It won't create any, which it is capable of doing.

    MixedCaseStyle - sqlobject uses pythonic names like my_name.  This allows
    the use of names like myName.

    longID=False - prevents sqlobject from automatically creating an ID column

    - in front of NameOfTable.q.dateAdded means reverse sort

Posted at: 21:38 | category: /database | Comments ()