5 votos

Se puede explicar de la exportación y, a continuación, importar ProgreSQL el uso de phpPgAdmin? (Y ¿qué pasa con los permisos?)

Recompensa Edit: me he dejado la pregunta original, pero quisiera una buena respuesta en el conjunto de permisos debacle que Postgres parece de baño.
'La importación y exportación los clientes db: Una guía de campo'


Acabo de recibir este trabajo de hoy donde necesitamos utilizar PostgreSQL.

El cliente tiene dos hosts y sólo usan phpPgAdmin para acceder a la base de datos. No hay SSH.

Necesitamos a la exportación de los datos y, a continuación, importarlo a un local dev máquina.

Ser sabio en la forma de MySQL estoy un poco perdido en cuanto a el proceso correcto.

Hay PostgreSQL >> base de datos > exportar>
y a partir de allí se obtiene:
alt text

He estado golpeando a la documentación, pero a decir verdad, no puedo encontrar una explicación sencilla y realmente no se preocupan por el db o Postgres en el momento. Todo lo que tenemos que hacer es abordar los sitios PHP.

Me golpeó con una sinopsis/cheatsheet/guía de mi sysadminy syblings.

Ediciones:
Cambió la pregunta que se incluyen el PostgreSQL permisos sobre la importación de una db.
No, realmente no parecen más a la configuración de un nuevo servidor PostgreSQL tan lejos como los permisos de ir.

Yo pregunte específicamente sobre phpPgAdmin porque mi servidor no es localhost y no tiene interfaz gráfica de usuario.

Tengo un sentimiento de que los permisos de una cosa http://pgedit.com/public/sql/acl_admin/index.html

Aclaró que no SSH en el cuadro clientes.

Todavía no puede encontrar concisa de la documentación en todo este proceso. Estoy realmente evitar la tarea hasta que haya una idea más clara. Podría mirar a convertir en la base de datos MySQL para la facilidad.

4voto

Jordan S. Jones Puntos 1023

Exportación

  1. Inicio de sesión
  2. Vaya a la "Exportación" de la ficha
  3. Haga clic en la "Estructura de Datos y botón de radio"
  4. Haga clic en "Descargar" botón de radio
  5. Haga clic en el Botón "Exportar" y guárdelo en su equipo local.

Importación

  1. Vaya a http://www.pgadmin.org/ descargar pgAdmin III (uno de los mejores libre Postgres herramientas GUI)
  2. Instalarlo
  3. Utilizar para todos sus Postgres necesidades.

2voto

saschabeaumont Puntos 2632

En lo que respecta a los permisos, acaba de abrir el volcado de base de datos (texto sin formato) y busque las líneas donde se intenta cambiar el usuario actual o establece el propietario de una tabla. A continuación, sólo hacer un buscar/reemplazar y reemplazar el original propietario con su nuevo nombre de usuario. No hay necesidad de preocuparse acerca de la concesión/cambiar los permisos a todos :D

Teníamos que hacer esto todo el tiempo al pasar de dev a través de la producción, el original de db/propietario de la tabla sería el desarrollador y necesitábamos a cambio de que a la cuenta del cliente una vez que estábamos listos para el lanzamiento.

Trabajamos siempre desde la consola usando pg_dump y otros relacionados con las herramientas de línea de comandos, pero espero que estos asignan a las opciones que tienes en la interfaz web.

2voto

Jacob Griffin Puntos 126

phpPgAdmin de exportación de los usos pg_dump. Usted puede leer sobre que si usted quiere saber lo que está haciendo.

Puede que también desee exportar como SQL en lugar de COPIAR. COPIA es para Postgres y tendrás SQL si quieres probar el uso de una base de datos diferente. También es más fácil de entender si la utiliza para diferentes bases de datos.

Lo que se obtiene con la Estructura y de Datos " es un archivo sql que se inicia con la base de datos de estructura de la tabla, a continuación, todos los datos, las limitaciones y las teclas.

Como sascha ha señalado, puede estar teniendo problemas con los permisos. Siempre he encontrado que es más fácil eliminar el permiso de líneas o comentario ellos ya que esto es sólo para un desarrollo de base de datos. Quitar/comentario/cambiar las líneas con 'PROPIETARIO' en ellos. Como

ALTER TABLE schema.table OWNER TO pguser;

Cada instrucción CREATE TABLE tendrá uno de estos después de establecer el propietario de la tabla.

La IMPORTACIÓN de

Si tiene errores SQL (que la he visto muy a menudo, dependiendo de los datos. Cadenas con caracteres impares puede ser un dolor de cabeza) podría ser más fácil dividir el archivo y simplemente copiar la estructura de la primera y ejecutar como un estándar de la consulta SQL. A continuación, empezar con los datos y la importación de una tabla a la vez. Esto hace que sea mucho más fácil encontrar el error cuando se corta en piezas. Especialmente cuando se trata de la muy ineficiente mensajes de error.

Sí, es un montón de copiar y pegar, pero hace el trabajo y probablemente tomará menos tiempo luego de portarlo en MySQL y luego tener que cambiar el PHP para conectarse y obtener datos de MySQL en lugar de Postgres.

PhpPgAdmin y pgadminIII ambos tienen la capacidad de ejecutar instrucciones SQL.

pgAdminIII -> seleccione la base de datos -> seleccione 'Ejecutar Consultas SQL arbitrarias". PhpPgAdmin -> seleccione la base de datos -> seleccione la opción "SQL".

Sinceramente este es el menos irritante forma de mover las bases de datos que he encontrado. Tarda más, pero sólo si no se producen errores.

0voto

dghughes Puntos 151

Ejecutar, no se aleje de su proveedor de hosting. Quieres acceso directo a los datos, no sólo a través de phppgadmin.

phppgadmin (así como phpmyadmin) en aquellos casos en los que tienen un gran problema. Usted no será capaz de obtener los vertederos.

Razonamiento: Con PHP y apache tiene un max. el tiempo de ejecución así como un límite de memoria para los scripts que se ejecutan. Puede que no sea un problema, ahora, en términos de tiempo de ejecución / memoria de ahora, pero como su base de datos crece se va a ejecutar en ella.

Para obtener una buena volcado al menos necesidad de acceso a la base de datos (que si la base de datos está expuesta directamente a la red por supuesto, ser protegido por SSL). Sea través de SSH o directamente a través de psql, de lo contrario no veo una buena opción para conseguir los vertederos. phppgadmin (o phpmyadmin) puede ser conveniente para navegar a través de la DB de hacer algunos cambios, hacer algunas (pequeñas) selecciona y así sucesivamente, pero no si usted necesita para obtener posiblemente vastas cantidades de datos.

He tenido ambas herramientas falla en mí en varias ocasiones con PHP tiempos de espera o demasiado uso de memoria al hacer copias de seguridad/restauración.

Como para una Guía de cómo Copia de seguridad de los originales de la documentación de postgres es generalmente de muy buenas: http://www.postgresql.org/docs/8.3/static/backup.html

Ahora para el problema de cómo conseguir un buen DB de volcado:

  • Uso de la "normal" de SQL formato (sí, los médicos dicen que es mucho más lento, pero me pareció la opción más confiable)
  • No se "muestran" la volcado en phppgadmin, pero en lugar de descargar (en formato gzip, o no puede o no funcionar dependiendo de la instalación de php y en el tiempo que se necesita para crear el vertedero, en realidad el mismo es cierto para el "show" de la opción)

No puedo enfatizar lo suficiente para obtener SSH o psql acceder directamente a la máquina. Si su proveedor de hosting no se le dará acceso, configurar un local de PostgreSQL crear un patio de recreo de la base de datos y enviar el comando pg_dump que usted desea utilizar, vamos a poner en un SSL y protegido con contraseña directorio y descargarlo desde allí.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: